0

Apple has finally accepted submissions of Time Trial versions for Apps and in their latest guidelines, at paragraph 3.1.1 they do recommend implementing them as FREE In-app purchases ("Non-Consumable IAP item at Price Tier 0").

I have done so, but now it is not clear to me how to prevent a user from doing trials ad infinitum, by simply uninstalling the app, reinstalling it and RESTORING the Free in-app purchase!

Is there any way of preventing it?

I believe that any flags that we programmatically save in NSUserDefaults would be deleted if the app is manually uninstalled together with all data. Correct?

jscs
  • 63,694
  • 13
  • 151
  • 195
jeddi
  • 651
  • 1
  • 12
  • 21

2 Answers2

1

Have a look at DeviceCheck:

Using the DeviceCheck APIs, in combination with server-to-server APIs, you can set and query two bits of data per device, while maintaining user privacy.
You might use this data to identify devices that have already taken advantage of a promotional offer that you provide, or to flag a device that you've determined to be fraudulent.

kubrick G
  • 856
  • 6
  • 10
0

You can parse the receipt and extract Purchase Date of the In-App purchase for the free trial. See Receipt Fields. Even if the item is restored, the date will correspond to the original purchase date.

pointum
  • 2,987
  • 24
  • 31
  • Actually it doesn’t work. transactionDate reports a different date every time the app is reinstalled! How can I get the date of the very first installation? – jeddi Jan 30 '19 at 07:06