I'm close to release my project for Android platform. I have a free version with ADs (and some other restrictions) and paid premium version. Now I'm wondering what is the right way to publish both in Google Play?
== Option 1
- publish both versions under different names and namespaces as separate applications,
- in free version there would be a button "buy premium" which will simply open URL to premium version in google play
- after purchasing premium version with a button inside free version, customer will have both apps on his mobile so he would have to delete free version manually
== Option 2
- publish only one app which will change it's behaviour based on some variable "isPremiumPurchased"
- implement IAP feature to change this variable
== Option 3
Here I am not sure if this is possible, but I would imagine to have both free and premium versions available to download separately in Google Play store, but once the free version is installed and user will download the paid version, then it is not as a separate app but something like an upgrade of the free version. Is it possible to do something like that? I have read that there is a way to use a common library (or something like that) in both versions, but this is already more for coders and I'm wondering what is the right way to do it with applications built in C2.
I know that Option 1 and 2 are more dependant on how I want to handle it but I'm more curious if something like described in Option 3 is possible and right/common way of releasing a project?