如何管理Android项目的免费和付费版本?

x2b*_*ool 8 android android-preferences android-sqlite

我决定构建我的免费Android应用程序的付费版本.付费版本有一些额外的功能.如何管理这两个版本?

  • 是否可以根据相同的源代码保留它们?
  • 如果应用程序需要唯一的软件包名称,如何强制付费应用程序替换免费版本?
  • 那么db,偏好和其他私有存储的东西,如何在不将所有数据暴露给世界其他地方的情况下共享它们呢?

任何有助于管理这两个项目的建议,但不能直接回答上述问题,也是值得赞赏的.

GvS*_*GvS 12

有几种方法:

  1. 将应用程序的核心放在库项目中,并创建另外两个项目,一个用于付费,另一个用于免费版本的应用程序.升级到付费版本意味着用户必须卸载免费版本,并丢失所有数据.
    这是"经典"方法.
  2. 让用户进行应用内付款.用户保留所有数据库和设置,您只需维护一个应用程序.
    此选项需要在您的应用程序中包含额外的模块,以及额外的逻辑.
  3. 制作另一个虚拟/空应用程序,这是一个付费应用程序.此应用程序的存在意味着用户具有付费版本.用户继续使用原始/免费应用程序.
    您只需使用PackageManager进行检查即可查看付费应用是否已下载.
    用户保留所有数据库和设置,您只需维护一个应用程序.好的,有两个应用程序,但第二个可以非常小而简单.
    您不必包含其他库/代码即可进行应用内付款.您还可以通过一次购买将所有应用升级到"专业版".
    我不知道所有用户是否都理解这种模式.对于开发人员来说,这可以通过最少的工作来实现,并且用户在升级时保持他们的所有设置.