Change Paid App to Free But Know If User Previously Purchased It

Changing app's price to free, while implementing in-app items

Answer from Google support:

"there isn't currently an easy way to allow users that have previously purchased the app to buy in-app products. These users might have to purchase the in-app items like all other users. We apologize for any inconvenience this may cause."

Change a Paid Android app to a Free app with in-app purchasing

It's been a year, so the OP probably doesn't need this, but in case anyone else happens upon this one...

You could approach this a couple of ways. Obviously there is some business logic on your new in-app purchasing app to track who has/hasn't paid. So the two ways I see you being able to go about this is as follows:

Idea 1:

You could do a preliminary update to your paid app that stores a SharedPreference or some other persistence in the app (you could store the versionCode, so you know what you're upgrading from and have business logic around that). Then update to the free version, and have the free version check your shared preference and do the right thing on an update from a "paid" versionCode.

Idea 2:

You could keep both apps separate (have a paid version and a free with in-app purchases) and push an update to the paid version to have a BroadcastReceiver that doesn't really do anything other than listen to specific intents and have your in-app purchase check to see if something will receiver your custom intent. If your old paid-version exists, then they paid for it, if not they didn't. (If they paid for the paid version then uninstalled you'll have problems obviously...)

Idea 3:

You could keep both apps separate (have a paid version and a free with in-app purchases), and push an update to the paid version that just posts an Intent to open the in-app purchase app (if it's installed) with some special arguments, to let you know they opened it via a paid app and do the right thing to set them up as having paid for it in-app. That opens yourself up to some detection problems though... (Solvable but kind of clunky)

Merge paid app and free app with in app purchase

I solved my problem by using the icloud. First I provided the update to both the application by doing following changes.

I used "key value store" icloud option and stored some setting on icloud just need to make sure here "iCloud Key-Value Store" value in .entitlements file (which was automatically created by XCode) in both the application is same for both the application. The setting stored here is accessible to both application and depending on the setting I identified the user and gave access to specific functionality.

IAP iOS App. How can I make a paid function only for new users but keep for free for users who already dowloaded paid app?

You can access to the app version with this code:

Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString")

and enable the feature with logic you want based on the app version and user profile.



Related Topics



Leave a reply



Submit