8

I am looking to release two version of my app: free and paid. The paid app will have a few more functions but no extra content as such. Originally I was going to release two separate apps on the market but it is proving difficult to keep a single code base and have two separate apps.

Would in-app purchases be a better way to do this? So I release a free app and then allow users to purchase a unlock for the extra functions. This would also mean that I wouldn't have to explicitly use the licensing part of the Android development as that is taken care of within the in-app purchasing.

James Cross
  • 7,799
  • 8
  • 24
  • 30

2 Answers2

15

There are three strategies which come to my mind:

  1. Release two versions, a free version and a paid version. The paid version contains additional features. To make development easier, you should use Android Libaries. These prevent the duplication of code.

Advantages:

  • Simpler to implement.
  • Works on other markets as the Android Market because it is not dependant on it.

Disadvantage:

  • If the user has some data in the free version, you must provide a import functionality for the paid version or the user will loose the data.
  • You have two versions on the market which get different reviews.
  1. Release two version: a free version which contains all features but some features are locked. Unlock them using a "unlock app" which is a simple paid app released on the market.

Advantages:

  • Simple to implement.
  • Works on other markets as the Android Market because it is not dependant on it.

Disadvantes:

  • Is not that intuitive because the user has a "useless" app installed.
  1. Release one version: a free version which contains all features but some features are locked. Unlock them using in-app purchases.

Advantages:

  • Finegrained solution: You can unlock different features for different prices.

Disadvantes:

  • Not that simple to implement, the In-App-API is tricky
  • Does not work without Android Market
Lino
  • 5,084
  • 3
  • 21
  • 39
theomega
  • 31,591
  • 21
  • 89
  • 127
  • +1. I think you should also include something about which one of the options you recommend. Would make the answer more complete. – Marcel N. Jun 23 '12 at 15:10
  • 2
    Thank you for your very complete response. My research has shown more problems than those mentioned above though. Version 1 does not allow for different functionality (activities), only resources can be over-written. Version 2 does not allow for use of Google's licensing servers. Version 3 is what I am thinking about at the moment. Anyway, thank you for your effort. – James Cross Jun 23 '12 at 15:15
  • (1) "free and paid based on library project" has a big disadvantage: two applications cannot provide the same `ContentProvider` – rds Dec 11 '12 at 11:58
  • point 2 has an additional disadvantage which is "You have to versions on the market which get different reviews." – Gianluca Ghettini Oct 26 '17 at 15:07
1

You could also use two separate flavors. One for the free version and the other for the paid version. Without rewriting another boss project.

https://developer.android.com/studio/build/build-variants.html

AlexPad
  • 10,364
  • 3
  • 38
  • 48