Reputation: 12916
I have an app which is paid with free trial. I'm thinking of updating it to Windows Phone 8 and making it free with in-app purchases. I want to make it so that all the customers who paid for previous version will have all the features available in the new version.
When a user updates to the new free version, is there any way to check if the user had previously paid for the app or if she was using the free trial? In other words, does the platform offer me class & method which tells me if the user had previously purchased the app?
Currently I'm seeing the following ways to handle the situation:
1st:
Publish an update to the current version and keep it trial+paid. Use IsolatedStorage to store the info if the user has full version or not. Publish a new update, this time free+in-app-purchases. Check from IsolatedStorage if the user should automatically have all the features.
Problems: If user skips the first update, she'll miss the features on the second update. If the user switches her phone, he'll lose all the features as she hasn't actually acquired the in-app purchases (maybe the user could get a free "pro" -pack which is only shown to users who had previously paid for the app?)
2nd:
Make a web service where users can register their current paid apps. After updating to a new version, the user can log in and get all the features.
Upvotes: 3
Views: 350
Reputation: 9073
A) Release your new version as a new app. Release an update to the previous version that registers the key via your web service, then points people to your new app and e.g. sends them an email with a registration code.
B) Use any of your ways to handle the update, give people a month or two to update, then handle everyone else though support.
C) Here's a variation on B: publish your new version that gives everyone the paid IAP for free (or very cheaply), don't advertise it, keep it on the store for a month, then release an update that actually charges for IAPs and use support to handle everyone who didn't have a chance to update.
Upvotes: 2