制作高级版应用程序的最佳方式是什么?

时间:2015-04-28 08:57:12

标签: android in-app-purchase google-play

现在确实遇到了问题,如何通过一组新功能实现将应用程序更新到高级版本更好?清楚,对于购买我将使用在应用程序计费V3,但我感兴趣的其他东西。我有两个变种怎么做。

  1. Google Play上将有两个应用程序(免费版和高级版)。但我认为我无法上传两个包含相同软件包的应用程序。
  2. 在项目中创建两个包。它就像com.example.free和com.example.pro。但我不知道我将如何能够:如何更新已经存在的应用程序(没有丢失数据),因为我已经改变了项目的结构,并且在大型帐户上,这将是一个新的包,并在您的oppinian,用于切换包的所有机制中最好的,经过验证,是否有购买已完成。 Thank`s。

3 个答案:

答案 0 :(得分:2)

尝试Gradle Flavors,它们允许您使用不同的包名创建不同的apk。该视频对我有很大帮助:https://www.youtube.com/watch?v=7JDEK4wkN5I

答案 1 :(得分:1)

有几种方法。正如您所说,您不能拥有两个具有相同包名称的不同应用程序。

但是你可以使用android:sharedUserId让两个不同的应用程序共享相同的UID,这意味着他们可以访问彼此的数据。这意味着高级应用程序可以直接从基本应用程序读取数据,或者在用户想要卸载基本版本的情况下将其迁移到自身。高级应用可能会禁用部分基本应用以避免重复输入(例如启动器活动等)。根据这样做的方式,您最终可能会遇到两个应用程序需要保持安装的情况,并且可能会让人感到困惑。

另一种选择是将所有功能都放在同一个应用程序包中,但是为基本用户锁定了它的某些部分,并且高级包只包含解锁高级部件所需的某种键。 在实践中,这可能意味着高级包可能具有启动器活动,该启动器活动在首次启动时执行解锁(例如,将某些内容写入基本应用程序拥有的数据库中),然后禁用自身以使其从启动器中消失。必须注意使这种方法安全,以避免未经授权的解锁。

答案 2 :(得分:0)

使用一个应用程序并设置不同的用户访问权限。具有高级访问权限的用户可以获得高级和免费功能。普通帐户可以获得免费功能。您可以从Spotify的应用程序中获取灵感。

可以在服务器中定义所有访问权限。用户登录时,将检索访问权限。您的应用可以检查访问权限并为用户定义可能的功能。