Search code examples
androidin-app-purchasegoogle-playin-app-billing

Managing several versions of the android app


I have seen simillar questions but still whant to post mine question.

I have the following scenario:

  1. An app can exist in three different versions (lets say FREE, PRO and ULTIMATE). The firs one is free the two others are paid and have different price.
  2. All three versions should be available at Google Play.
  3. Two minor versions should provide paid UPGRADE feature (FREE->PRO/ULTIMATE, PRO->ULTIMATE).

What is the best and easiest way to achieve that?

Thanks.


Solution

  • The problem was solved in the following way

    1. All codebase is a single project. Ultimate featureset is implemented but it is limited based on the cirrent app version.
    2. When the app is built it gets initial version (FREE/PRO/ULTIMATE) as a constant.
    3. Upgrades are available as in-app purchases. Each time app starts it checks for the purchesed items and calculates it's version.
    4. Certain features are unlocked, based on calculated version.

    Maybe that would be helpful for somebody