Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting an Android application from a free/paid model to in-app paid unlocking

I currently have an app on the Market that has both a free, ad-supported version, and a paid ad-free "Pro" version with extra features.

Building two different projects every release cycle is really a pain in the asteroids; I'd love to just knock it down to one.

I'm interested in hearing feedback on doing this, if anyone here has performed a move like this... are there any downsides to converting over to this new model?

I currently have a dozen or so paid users. Will I be able to just make them "owners" of the in-app purchase via their email address, or would they be forced to buy the app all over again? (If I can't make them owners, I would probably abandon this entire idea until my next app.)

like image 592
Toby Deshane Avatar asked Jun 26 '12 00:06

Toby Deshane


1 Answers

Funny. I did it the other way (converted a (app + supplementary-license) to a paid-only version, no trial). But my old (app + license scheme) might work for you. It was implemented a while ago, before in-app purchases were quite so straightforward.

My old licensing scheme: One Google Play download for the main app; one separate listing for a license for the main app (see "2player 1.0 License (Obsolete)"). The license download provides no UI, but does implement a content provider. The main app attempts to query the content provider that's provided by the license APK. If the content provider query succeeds, the main app converts to "licensed" state. The content provider itself provides a rudimentary challenge/response exchange of data just to prevent totally trivial hacking.

That could work for you with minor modifications. You would replace your old paid-license APK with an APK that provides a challenge-response content provider, and just enough UI to inform users of the old app that they need to install your new version 2.0 APK. And then modify your in-app-purchase app to check for the presence of the content provider, and convert to licensed state if the content provider query succeeds.

The forced download for users of the old app would be a bit clunky, but it seems to me that you're going to have to force them to download the new one somehow anyway. But for a dozen paid users, it seems pretty harmless.

like image 145
Robin Davies Avatar answered Sep 21 '22 08:09

Robin Davies