Sell an In-App purchase digital content only once for each user

Tag: windows-phone-8 , windows-phone Author: Cynthi Date: 2014-01-16

I'm developing a Windows Phone 8 app where users can buy coins using In-App purchase.

The app will be free, and it will have 25 free coins. Every time a user do something, I will discount a coin until the user doesn't any and he/she must have to buy more coins.

To store the remaining coins, I'm going to use Isolated Storage Settings Class. But here is where I have found my problem:

If user deletes the app and install it again, it will have another 25 free coins.

But I don't want that. He can delete it and reinstall every time he doesn't have free coins.

Maybe the problem here is that I'm storing the remaining coins on Isolated Storage.

If user deletes the app, and install it again, I want to keep app's preferences (including remaining coins) or maybe don't give to the user the free coins anymore.

Maybe I can add a free purchase only once to every user (like a durable).

How can I solve this problem?

Best Answer

If there is no backend service, simply add a free durable IAP product to your app and purchase it on the first run.

Other Answer1

The only way to solve it, is to register every device on your backend! So you need to send the device-id with the current amout of coins to your server, save it in a database and then you are able to check if the device already opened the app or used coins.

There is definitely no local solution for that.


Thanks for your answer. I have updated the question with more details.
Do not use an IAP for the 25 free coins. (I'm not sure if this is possible also) But anyway an IAP for something free would irritate the user. As I said, the only way to make sure that reinstalling does not affect the progress, is using a server backend.