Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I have a successful paid for application on Google Play Store and want to update this app to be a free application with in-app purchasing.

I have just completed developing the free version of the app which gives users restricted access which can then be unlocked using an in-app purchase system.

The issue i have is that all my existing users who have paid for the app will upgrade and then be prompted to pay again, which of course isn't right.

Is there any way to check the purchase history of the user, identify that they have paid for the app previously and unlock the extra features without the in-app purchase?

Thanks for any help. Lewis

like image 914
drboodt Avatar asked Jan 09 '14 10:01

drboodt


People also ask

How do you change paid apps for free apps?

Changes to your app's Free or Paid selectionOnce your app has been offered for free, the app can't be changed to paid. If you want to charge for the app, you need to create a new app with a new package name and set a price.

Is an app free if it says in-app purchases?

Before installing an app, users often see the message “In-app purchases” next to the “Get” button for free apps or the app price button for paid apps. This messaging indicates that users will have the opportunity to pay for additional features, content, or services within an app.

How do I get rid of in-app purchases?

Select “In-App Purchases.” Turn off your phone's in-app purchases by selecting “Don't Allow.” And you're all set. Remember to get an App Store refund for any purchases you regret making.


1 Answers

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)

like image 63
xbakesx Avatar answered Sep 20 '22 10:09

xbakesx