Providing a trial of IAPs

According to Apple's guidelines, trial/demo versions are not accepted. But if I provide a miminal functionality in an app, is it ok to provide some previews of the IAPs, like:

- enabling all IAPs for the first 30 days

- enabling all IAPs for like 1h a day

The latter I have seen in an app. But of course I don't know if it was ok or just slipped through the review process.

Regards,

Markus

Answered by PBK in 8164022

Upon returning to foreground and didLaunch, check the keychain. If empty, write today's date. Based on the date in the keychain, grant, or don't grant, rights to the IAP for that session.

Rescued over from the old forum:


Peter: "I believe App Review allows an app to open IAP rights for an initial period of time and then shut it down. I have a bunch of apps that come with a free one month subscription for each new device. After the first month the user must purchase a non-renewing subscription otherwise they lose the IAP rights."

Peter, and everyone: How did you implement the free one month subscription?

Accepted Answer

Upon returning to foreground and didLaunch, check the keychain. If empty, write today's date. Based on the date in the keychain, grant, or don't grant, rights to the IAP for that session.

Thanks for the info!

Am I correct that

- the keychain is device specific (not synced across devices), so the trial period would be separate for each device?

- reinstalling the app won't modify the keychain, so the user cannot gain another trial period by reinstalling the app?

- restoring the device would reset the keychain, so by doing this (tedious task), the user could gain another trial period?

Thanks,
Markus

"- the keychain is device specific (not synced across devices), so the trial period would be separate for each device?"

YES. You could also use the user's iCloud account and write to their key-value file

"- reinstalling the app won't modify the keychain, so the user cannot gain another trial period by reinstalling the app?"

CORRECT. But the user could restore their entire device to a time before they first ran your app. The alternative approach using the user's iCloud account can't be restored so it avoids this flaw. However the user may log out of their iCloud account and log into a different iCloud account.


"- restoring the device would reset the keychain, so by doing this (tedious task), the user could gain another trial period?"

OH - you realized this! YES, this is a way of getting another trial period at some considerable pain to the user.

Hi PBK,

thanks for your great answers!


One last question - is this method now generally accepted by App Review, or does one need to take special precautions, like not using the word "trial" or similar in the App's description?


Regards,

Markus

I believe it is generally accepted but you may be required to pay Taylor Swift royalties during the trial period.


Also - after the trial period ends, the app must revert to a useful app, i.e. a lite version. It can't be dead as per:

2.9 Apps that are "demo", "trial", or "test" versions will be rejected. ....


Providing a trial of IAPs
 
 
Q