Custom voucher code mechanism

Hello,


I would like to know if the folllowing process is permitted by Apple:

We have an offline product a book and we have an app. The app is the digital version of the book. We would like to give users who buy a book a voucher. With this voucher the user should be able to download a digital version of the same book in the app for free. All other users without a voucher have to make an in-app purchase through Apple.


To do so we would generate ourself the voucher codes for the offline product. In the app the user than would be able to enter his voucher code and download a digital version of the book without an in-app purchase mechanism from Apple.


Kind regards,

Dennis

Replies

What you propose is sort-of allowed.

https://developer.apple.com/app-store/review/guidelines/#other-business-model-issues


You would operate under 3.13:

3.1.3 Content-based “Reader” Apps: Apps may allow a user to access previously purchased content.... provided the app does not direct users to a purchasing mechanism other than IAP.


So your app would allow users to enter a code indicating they have "previously purchsed the book".

Seems reasonable, but what about item 3.1.4, which seems to contradict 3.1.3?

"Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, etc."

I think the user is downloading content from a website and reading it thereby neither 1) unlocking content in the app nor 2) unlocking functionality within the app that was 'locked' (albeit the functionality may be worthless without access to the remote content).

Dennis, where were you thinking of accepting that voucher code? Would it be (1) typed into the app to unlock the book content or (2) typed into the website to unlock a download of the book content?

Hello bob133,


it does not matter. We could offer both or one of the options: (1) App and (2) Website


Kind regards,

Dennis

Thank you for the response PBK. However if I understand it correctly the last sentence in the 3.1.3 (provided the app does not direct users to a purchasing mechanism other than IAP.) says we have to use the IAP to let the user download the previosly buyed content. How should it work with IAP for free?


Kind regards,

Dennis

OK, good. There has been a fair amount of controversy in the past about how to create a bypassable IAP that App Review will approve. Based on the stuff I've read, it seems to me that the most likely way to get your app approved would be to use IAP to unlock #1 but use the voucher code to unlock #2.

I respectfully disagree. If the app is a 'reader app' then a code can be added to access content from a remote site that was purchased elsewhere. That's consistent with 3.1.3 as long as there is no associated purchase mechanism in the app. That's consistent with 3.1.4 as long as the content is not obtained from within the app but rather from a remote site.

Nope, as long as the app 'does not direct the users to a purchasing mechanism' means the app directs to a purchasing mechanism. If the user purchased the book at a book store then the app did not direct them to that purchasing mechanism. Even if the user purchased the app from Amazon after the app directed the user to the amazon.com page that showed the book, but not to the checkout page on Amazon, then that's also ok. You cannot direct the user to your website with a button in the app that is labelled "Buy Content". You can direct the user to your website with a button that says "Browse Selections". Then on your website you can offer a set of books or other content. After the user selects the content you can have a button on your website that says "Buy" and sends them to AMEX (I refuse to suggest another website because KMT says - no politics). After they buy you provide them a code. They enter that code in your app and download the 'previously purchased content' into the reader app.


Now, if you are planning on having them download the content as part of an IAP rather than from your own servers then that's a violation of 3.1.4 because you are now unlocking content essentially within the app, albeit downloaded through IAP.