现在确实遇到了问题,如何通过一组新功能实现将应用程序更新到高级版本更好?清楚,对于购买我将使用在应用程序计费V3,但我感兴趣的其他东西。我有两个变种怎么做。
答案 0 :(得分:2)
尝试Gradle Flavors,它们允许您使用不同的包名创建不同的apk。该视频对我有很大帮助:https://www.youtube.com/watch?v=7JDEK4wkN5I
答案 1 :(得分:1)
有几种方法。正如您所说,您不能拥有两个具有相同包名称的不同应用程序。
但是你可以使用android:sharedUserId让两个不同的应用程序共享相同的UID,这意味着他们可以访问彼此的数据。这意味着高级应用程序可以直接从基本应用程序读取数据,或者在用户想要卸载基本版本的情况下将其迁移到自身。高级应用可能会禁用部分基本应用以避免重复输入(例如启动器活动等)。根据这样做的方式,您最终可能会遇到两个应用程序需要保持安装的情况,并且可能会让人感到困惑。
另一种选择是将所有功能都放在同一个应用程序包中,但是为基本用户锁定了它的某些部分,并且高级包只包含解锁高级部件所需的某种键。 在实践中,这可能意味着高级包可能具有启动器活动,该启动器活动在首次启动时执行解锁(例如,将某些内容写入基本应用程序拥有的数据库中),然后禁用自身以使其从启动器中消失。必须注意使这种方法安全,以避免未经授权的解锁。
答案 2 :(得分:0)
使用一个应用程序并设置不同的用户访问权限。具有高级访问权限的用户可以获得高级和免费功能。普通帐户可以获得免费功能。您可以从Spotify的应用程序中获取灵感。
可以在服务器中定义所有访问权限。用户登录时,将检索访问权限。您的应用可以检查访问权限并为用户定义可能的功能。