I would like to do the following:
- Sell a game for $0.99 at launch with no feature restrictions.
- If it’s less than successful, make it free, but limit some features to in-app purchase (I would do this via an update to the existing app).
- BUT, I would like users who originally purchased the app (before it was free) to still have all of the features. In other words, I want to find a way to credit the new in-app purchases to those users, so that they don’t have to pay twice.
I would like to do this all with the existing app, instead of making two separate versions of the app (paid and free).
EDIT: it is essential that not a single user ever have to pay twice (i.e. that users who previously paid for the app, do not have to purchase the in-app upgrades in the future).
EDIT 2: It seems like this question has already been answered here: From Paid to FREE w/IAP: Preventing double-charging
Certainly.
The company I work for has done this in the past.
If you know you might want to do this in the future, in your first version store a flag to
NSUserDefaultsindicating that the user has had the paid version. Then, on your In-App version check this flag and provide the content immediately.If you already have a version released, you may have to look for something that you are already storing, e.g. the user has a highscore greater than zero to indicate that the user has already purchased the app. (There will be a small number of users that may have downloaded the app but not opened it and these users may be charged twice).