Storing demo time, before purchase

Hi, I have a question about the consequences when reinstalling an app. It should be possible to play my game a limited (demo) time. If the demo period is over, the game must be purchased.
Is it possible to prevent that the demo time is available again, after reinstalling the app? Is it possible to store the demo time outside the app in such a way that a reinstallation has no affect? For example, by storing it in your Google / Apple account or somewhere on the device?

Thanks! [import]uid: 50639 topic_id: 33203 reply_id: 333203[/import]

I don’t have any experience with Google/Android so I wont comment on that.

In regards to Apple, they would not approve it on their app store. However one thing that freemium games do, is put a delay on their game. So you can either wait 5 minutes, or buy some in-game currency to skip the wait.

You are correct that if the app is deleted and reinstalled, there would be no local data to reference, so it would revert back to when it was first installed. to get around this you would need to setup a remote server with a database ideally to hold the information such as a unique identifier for each user, time played, expired, etc… [import]uid: 62706 topic_id: 33203 reply_id: 131916[/import]

On your own server you can. Generate some kind of key on device and send it to your server as MD5 key and save it (UDID replacement -> http://web-c2.anscamobile.com/forum/2012/04/07/udid-replacement ). If it’s already on your server someone just reinstall your app and you can stop it. [import]uid: 12704 topic_id: 33203 reply_id: 131921[/import]

I don’t have any experience with Google/Android so I wont comment on that.

In regards to Apple, they would not approve it on their app store. However one thing that freemium games do, is put a delay on their game. So you can either wait 5 minutes, or buy some in-game currency to skip the wait.

You are correct that if the app is deleted and reinstalled, there would be no local data to reference, so it would revert back to when it was first installed. to get around this you would need to setup a remote server with a database ideally to hold the information such as a unique identifier for each user, time played, expired, etc… [import]uid: 62706 topic_id: 33203 reply_id: 131916[/import]

On your own server you can. Generate some kind of key on device and send it to your server as MD5 key and save it (UDID replacement -> http://web-c2.anscamobile.com/forum/2012/04/07/udid-replacement ). If it’s already on your server someone just reinstall your app and you can stop it. [import]uid: 12704 topic_id: 33203 reply_id: 131921[/import]

The problem with using UDID at all is that you really want to identify the user’s apple account. But you can’t treat UDID like an Apple account. The problem with using the UDID for user identification is that they are two different things. You cannot use UDID to identify the person/ apple account and when you purchase an app via iTunes the rules are that you get to install that app on all of your Apple devices for just one purchase price. Another reason Apple does this is because of product replacement. When an Apple customer exchanges or replaces a phone, they are entitled to the paid/non paid apps, music, books, etc. that they purchased under that Apple account. So if you use the UDID to determine a purchase, I’m assuming you’ll be violating Apple’s developer agreement as well as piss off the customer.

What you really want is the Apple/ Android/ ect… user account but this isn’t available.

[import]uid: 38348 topic_id: 33203 reply_id: 137590[/import]

The problem with using UDID at all is that you really want to identify the user’s apple account. But you can’t treat UDID like an Apple account. The problem with using the UDID for user identification is that they are two different things. You cannot use UDID to identify the person/ apple account and when you purchase an app via iTunes the rules are that you get to install that app on all of your Apple devices for just one purchase price. Another reason Apple does this is because of product replacement. When an Apple customer exchanges or replaces a phone, they are entitled to the paid/non paid apps, music, books, etc. that they purchased under that Apple account. So if you use the UDID to determine a purchase, I’m assuming you’ll be violating Apple’s developer agreement as well as piss off the customer.

What you really want is the Apple/ Android/ ect… user account but this isn’t available.

[import]uid: 38348 topic_id: 33203 reply_id: 137590[/import]