Workaround to lack of promotional codes for in-app purchases
Asked Answered
S

3

11

Apple doesn't offer promotional codes for in-app purchases. What's the best way to let users try the features or content unlocked by in-app purchases for free, while complying with Apple's Developer Guidelines?

The idea is to allow a special set of users (reviewers, key fans, etc.) to access the content or features offered as in-app purchases without paying.

Examples of apps that worked around this limitation would be much appreciated.

Sycamine answered 7/4, 2010 at 19:0 Comment(1)
Did you end up using Eric's solution? I'm not sure if I understand it correctly. Does he mean that when you submit an app with a future publish date, that even though the app is not in the App Store, reviewers will still be able to download it using a promo code you give them?Til
K
9

You could submit a version of your application that has all features unlocked by default.

Submitted apps have a publish date that you can set when you submit (and I believe you can change this on the fly as well) you could simply prevent the app from being published in the App store but still be able to give promotional codes for it.

Promo codes apply to a specific app version, so when users redeem promo codes for a version of an app that hasn’t been released yet, they download the prerelease version.

Source

Kela answered 7/4, 2010 at 19:10 Comment(6)
If the app is published wouldn't anybody be able to download it?Sycamine
No, you can set a publish date, even if your app is approved it won't go live in the app store before the date you set. This is useful when trying to coordinate marketing campaigns. itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf Check under "Add New Application" - Availability date.Kela
Interesting. This would work for the first version of the app, though. Once it's up, then it wouldn't be possible to do it anymore, would it?Sycamine
There's nothing to prevent you from submitting a new update, again with a publish date in the future.Kela
While this is a clever workaround, it sounds like it doesn't scale well. If you have 3 different IAPs you want to promo separately, that's 3 extra versions. If you have to fix bugs or do other updates, you have to update the main app, plus the 3 special versions. You're not allowed to submit several versions of the same app at the same time, plus the special customers all need their promo-codes re-sent after the bug-fix/update. Etc.Smoothbore
It's been a while, but just to clarify: do you mean that even if the app isn't published in the App Store, a reviewer would be able to download it by entering the promo code?Til
R
0

Something like shareware? An app, that has a subset of features enabled until in-app purchase? Apple allows it now.

As example. We've a puzzle game, that has 12 difficulty levels. 4 or 5 of them are available for free and others are unlocked after in-app purchase.

Rooster answered 7/4, 2010 at 19:6 Comment(2)
I clarified the question. In the case of your app, how do you allow reviewers to access the 4 or 5 paid levels without paying?Sycamine
It's not possible to allow somebody to play without paying, using in-app purchase. For reviewers sometimes it's more apropriate to create an ad-hoc version. Regarding 4-5 levels without paying — it's rather straightforward usage of in-app purchase feature.Rooster
A
0

I'm working on this now.

What I'm doing is I generate a random code/guid and store that on my webService's DB. Then give that code to who ever you want. They enter that code and it calls the web service passing the code, and device UDID. The webService returns another code indicating if that promocode was valid. If valid then the app will add that purchase to NSUserDefaults or Core Data (however you keep track of purchases).

If you don't have a server up and running (say the content is already in the app bundle) and you don't want a server would require you making an algorithm to generate keys that your app validates. However this is far less robust. Using a web service allows you to prevent 1 working key from being distributed between all users, as you can tie 1 promo code to 1 device.

Affra answered 7/4, 2010 at 20:10 Comment(4)
Isn't allowing users to enter a promo code in the app against Apple's iPhone Developer Agreement (clause 3-3-3, in particular)? Have you seen any app doing this already?Sycamine
I just looked. Your right. I may try having the device download a short list of approved UDIDs and check if it's on it. I realize this isn't approved easier but may be able to slip under the radar.Affra
From the web: 'July 2011 - My app was rejected today for doing this. From the App Store Review Guidelines: "11.1 - Apps that unlock or enable additional features or functionality with mechanisms other than the App Store will be rejected". I think some apps get around this by hiding the feature from Apple.'Libration
Another from July 2013: '11.1 We found your app inappropriately unlocks or enables additional functionality with mechanisms other than the App Store, which is not in compliance with the App Store Review Guidelines. Specifically, we noticed that the app utilizes codes to unlock features."'Libration

© 2022 - 2024 — McMap. All rights reserved.