This article will be helpful for developers who ever had problems with Apple review team or who just added their first auto-renewable subscription to the app.
As you may already know, app review consists of two steps: automatic review (with a bot) and human review. However, not every app update is being reviewed by a human (it’s not a fact, but we are 99% sure). And it’s not a secret that every year automatic review is getting more and more responsibilities.
Here is a list of recommendations which increase your chances to be approved.
After you add a new subscription in an update it will go to human review even if you already have subscriptions approved. Our main goal is to have less human reviews, right? That means you should submit a full set of subscriptions for review in one time. Create all subscription durations even if you think you won’t need them. Trust me, you probably will.
This means you should create such a screen that won’t have any doubts. Skip animations, complex UI, make all fonts large and remove unneeded images. You can easily bring back all of these in later updates. But don’t scam – do not violate review guidelines!
Keep in mind that review team may check your app even if you didn’t submit any updates. They may check your live app and remove it from the App Store if your app is not compliant with the guidelines.
Apple reviewers are sometimes lazy – they won’t take their time trying to find every subscription in your app. So I recommend you to show all subscriptions in a single purchase screen until approved. For example, you can display one or two subscriptions on the main purchase screen and add “show more options” button which pushes another screen with more subscriptions.
This one is the most important thing. Information about subscription terms may have a small font, can be cut, can be scrolled but must be at least partially visible.
As an example, you may use this text:
[Title of subscription]
subscription is required to get access to [list of premium functions]
. After the free trial period, if offered, the subscription automatically renews with the price and duration given above unless it is canceled at least 24 hours before the end of the current period. Payment will be charged to your Apple ID account at the confirmation of purchase. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase. Any unused portion of a free trial period, if offered, will be forfeited when the user purchases a subscription to that publication, where applicable.
You may also add these text:
Removing the app doesn’t automatically cancel the subscription.
More details about required subscription terms can be found here.
If your app is targeted for iPhone only don’t forget to check older screen proportions. Apple reviewers often review apps from iPads which simulates iPhone 6s screen proportions. So better to test your purchase screen on iPhone SE and iPhone 8.
Never show a
purchase screen which didn’t yet have SKProduct
classes loaded. You
can easily be rejected if reviewer taps on “buy” button but nothing
happens.
Do not divide your subscription price for months, weeks, days, etc. If your subscription duration is 1 month, you should display a price per month.
Apple says: “While you may also present a breakdown price that the annual amount is equivalent to or a savings when compared to weekly or monthly subscriptions, these additional elements should be displayed in a subordinate position and size to the annual price. This ensures that users are not misled.”
Here is an example of how to get localized price of a product:
func localizedPriceStringFor(product : SKProduct) -> String? { let formatter = NumberFormatter() formatter.locale = product.priceLocale formatter.numberStyle = .currency return formatter.string(from: product.price) }
Reviewers always open such links so make sure these links are clickable, content is loaded, and they are not confused. There are a few great tools to generate such texts: TermsFeed, Termly or even this one.
Your purchase must have an option to restore purchases. It is also better to have a button called exactly “Restore purchases” (not just “Restore”). We know cases when app was rejected with just “Restore” title on the button.
It is not recommended to make weekly or annually subscriptions your default ones. At least until approve. And add a good trial period – you can always change it.
If your desired price for the subscription is $9.99 per month display exact same price and not $0.99. Otherwise, you may be triggered for an extra review.
It is recommended to show current subscription status somewhere in the app. A text “Your current plan is: Premium|Free” should be enough.
If you worry about being rejected because of “4.3 Design Spam” reason or other reasons, try to submit an app without subscriptions first. After you get approved prepare some updates, add more features and only then submit auto-renewable subscriptions.
In app description in App Store Connect don’t forget to include all the information from 4th advice. You should also include information about all your subscriptions titles, prices and durations.
At the moment about 100K new apps and updates are being submitted to the App Store per week. And 40% are being rejected for various reasons. It’s really hard to get through with the first submission. But if you follow our tips your chances to get approved with a first submit will increase.
To get more insights regarding subscription app revenue growth read the Apphud Blog.