The subscription based revenue model, which is becoming more and more common on app stores, is an often debated and hated subject among customers. Having read many articles and forum threads about why people hate subscriptions and what they would prefer instead, an often mentioned wish from customers seems to be to pay once for an app, but pay again for major updates (i.e. from version 1.x to 2.x) - but having the option to stick with version 1.x and not upgrade, i.e. "owning" the software.
This is kind of a traditional revenue model, which has worked well for both big and small software companies for a long time. The company gets paid for the work they put into each major release, and customers get the sense of "ownership" because they purchased the product rather than renting it (as is the case with a purely subscription based model).
But there doesn't seem to be a clear way of achieving this revenue model on Apple App Store and Google Play?
The option that most closely resembles the traditional model would be to create and release a brand new app with each major version upgrade. But this has several drawbacks, including resetting any reviews and ratings, having URL's all over the Internet pointing to old versions, making it difficult/confusing for existing users to upgrade smoothly, etc.
There's also the option of using in-app-purchases to "unlock" the new version. This could be successful if the changes consist of clearly defined new functionalities. But if there are differences in functions that exist in both the old and new version, I can see it quickly becoming a nightmare to maintain, even for two major versions. What it would look like when it becomes three or four or five versions deep, I don't even want to think about...
So are there any better options? Did anyone accomplish this successfully on Google Play or Apple App Store?
short answer is : That is impossible.
However, you could set up a non consumable purchase and force them to buy it to activate the newer version