I almost finished my first game to be published but one question remain.
2 different versions (demo + full version) or only one that can be upgraded.
It is a mobile app that i’ll first release on google play.
I also wish to monetize it with ads for the free version and remove them in the paid one.
In theory I’d prefer the second choice (more user friendly) but:
-I I have no idea how to implement that or if it is even possible in google play
-I I don’t know if I can remove the ads if the user is registered to have paid
-I I’m not sure it would be safe enough to manage myself the payment or if google play allows it (if it does I’m almost sure it must go through their platform and then again I have no clue of what I should do)
-I Another side note: one could crack this kind of version to unlock the full game where it should not be possible in a demo only version.
Can you please help me, guiding me with the big lines of what I should do? What choice did you make for your own apps? Any help would be really appreciated here!
You should always keep in mind that having 2 different versions of an app means twice the work during the submission process. You have to build twice, submit twice, and apple will most probably reject your binaries, because they don’t want to have demo + full version of the same app. So the second choice is definitely the better one.
I would recommend the following:
Set up your own simple server capable of running php scripts and having a database like mySQL. I would recommend to use Amazon AWS because it can easily be scaled up in case your game takes off
Use facebook or google play login to have a unique player id that won’t change. Store that player id in your database.
Use in app purchases to enable levels inside your game or to hide ads for users that have already purchased. Store the transaction ids of the purchases in the database together with the player id. This way you record the whole purchasing history on your server.
Implement server sided receipt validation for your in app purchases on your server. Cheating will be enormous without receipt validation especially on google play. In our case google analytics was reporting purchase events worth 30k US per day, while the real earnings were around 1k US per day. But even with receipt validation people will be cheating, but in combination with a smart server you can reduce it to a minimum.
Having those components you can contact your server upon launch of the app and request whatever information you will need. Depending on the response you can enable / disable levels and show or hide ad banners. You can store the progress of your game on your server and let players play on multiple devices, with their facebook or google play accounts.
This is only a rough outline of what we did with our game, I hope it helps.