В этой статье я расскажу, как увеличить шансы пройти проверку в App Store приложению с подписками. Если вы когда-либо испытывали проблему с аппрувом приложений с подписками или вот-вот планируете релиз, тогда это будет вам полезно.
Всем привет, меня зовут Денис, я основатель сервиса Apphud – сервиса аналитики подписок iOS-приложений.
Как вы наверняка знаете, проверка состоит из двух этапов: ручная проверка (приложение просматривает человек) и автоматическая проверка ботом. Но, предполагаю, не каждое обновление проверяется человеком. Бывало, наши приложения проходили проверку менее, чем через 10 минут после отправки на ревью. С каждым годом доля автоматических проверок увеличивается и бот берет на себя все бóльшую роль при проверке приложений.
Важные сведения о проверке приложений
Мы не знаем, как именно проверяют приложения и в каком случае оно отправляется на ручную проверку, но наш опыт подсказывает, что справедливо следующее.
Каждый новый бинарный файл проверяется на наличие приватного API.
Первый релиз и любые обновления, в которых добавляются новые встроенные покупки, чаще всего проверяются человеком.
Если Apple посчитает ваше приложение подозрительным (например, заметит резкий рост числа оценок, отзывов или значительное увеличение цен на встроенные покупки), то может отправить его на проверку ревьюеру.
Существует “Черный список”, куда попадают недобросовестные разработчики. Присутствие в нем грозит проблемами при проверке. Не важно, будет ли это новое приложение или обновление существующего.
Советы при отправке на ревью
Ниже мы приводим некоторые рекомендации, которые помогут облегчить прохождение модерации.
1. Заранее создайте все возможные длительности подписок и отправьте их на ревью
Если вы добавите новые подписки в обновлении, то оно с большой вероятностью уйдет на модерацию к ревьюеру. А ведь разумно сводить число ручных проверок к минимуму, правда? Поэтому желательно отправлять на ревью приложение сразу с полным набором подписок. Создайте несколько продуктов с разными ценами и длительностями, даже если они сейчас и не нужны. Поверьте, в будущем пригодятся.
2. Максимально упростите экран покупки при ее отправке на первую проверку
Избегайте неочевидных трактовок и нестандартных интерфейсных решений. В первый раз пройдите проверку с самым простым экраном покупки. Когда пройдете, сможете его обновить по своему усмотрению (но, разумеется, в рамках App Review Guidelines).
Кстати, ревьюеры запросто могут проверить ваше приложение вручную в любое время. Даже если вы не отправляли обновление. Учитывайте это и не меняйте интерфейс экрана покупки после прохождения модерации без ведома Apple. Это чревато удалением приложения из App Store.
3. Укажите сразу все варианты подписок на экране покупки
Модераторы Apple не будут тратить много времени на поиск всех возможных подписок в вашем приложении. Потому мы советуем сделать один экран со всеми возможными покупками, доступными пользователю. Например, используйте одну большую кнопку с основной подпиской и кнопку “показать больше опций”, при нажатии на которую будет показываться экран с остальными вариантами подписок.
4. Добавьте информацию о подписках.
Это крайне важный пункт. Информация о подписке может быть написана мелким шрифтом (но оставаться читабельной), может быть обрезана, но обязательно должна быть видна хотя бы частично без прокрутки экрана.
На экране покупки вы должны указать следующее:
Для доступа к [Перечень платных функций] вы должны приобрести подписку [Название подписки]. Подписка производится с вашего аккаунта iTunes и обновляется автоматически. Отмена подписки производится в основных настройках iOS в параметрах учетной записи iTunes не менее чем за 24 часа до окончания текущего периода. Стоимость подписки будет списана в течение 24 часов после окончания пробного периода. Любая неиспользованная часть бесплатного пробного периода, если таковая предлагается, будет аннулирована, когда пользователь приобретает подписку на эту публикацию, где это применимо
Мы также рекомендуем для первой проверки добавить в самое начало еще одну фразу :
Удаление приложения не отменяет подписку автоматически.
или на английском:
Removing the app doesn’t automatically cancel the subscription.
В последующих обновлениях это предложение можно опустить.
5. Проверьте экраны покупки
Ревьюеры почти всегда проверяют приложения на iPad, на которых стоят экраны с пропорциями iPhone 6s. Поэтому обязательно проверьте экраны покупки на iPhone 5s/SE и 6/6s.
6. Предварительно загрузите продукты
Никогда не показывайте пользователю экран покупки без предварительно загруженных продуктов. Приложение отклонят, если вы отобразите ревьюеру кликабельный экран покупки без цены на кнопке, пусть даже на пару секунд.
7. Указывайте полную цену
Всегда указывайте полную цену, соответствующую периоду подписки: 599 руб в год, 199 руб в неделю. Не делите цены (например, на кнопке нельзя показывать цену 28 руб в день (28 руб ~ 199 руб / 7 дней) при подписке 199 рублей в неделю).
8. Локализуйте цены покупок
Цены покупок должны быть показаны пользователю в его валюте. Это можно сделать, например, так:
func localizedPriceStringFor(product : SKProduct) -> String? {
let formatter = NumberFormatter()
formatter.locale = product.priceLocale
formatter.numberStyle = .currency
return formatter.string(from: product.price)
}
9. Добавьте ссылки на Правила пользования (Terms of use) и Политику конфиденциальности (Privacy policy)
Ревьюеры всегда их открывают, но в текст особо не вчитываются. Убедитесь, что ссылки не битые и не перепутаны. Для создания правил и политики можно воспользоваться любым генератором, найдя его в Google по запросу "App terms generator"
10. Добавьте восстановление покупок
На экране покупки следует обязательно разместить кнопку восстановления покупок (Restore Purchases). Желательно хотя бы на первый релиз сделать ее крупной и назвать именно “Восстановить Покупки” (“Restore Purchases”). Известны случаи, когда приложение отклоняли из-за того, что на кнопке было указано “Restore” (“Восстановить”) вместо “Restore Purchases” (“Восстановить Покупки”)
11. Не делайте недельную или годовую покупку основной, по крайней мере на первый релиз.
Месячная – в самый раз. Добавьте щедрый триал – уменьшить его можно в любое время.
12. Укажите действительные цены
Желательно сразу указать действительные цены. Если будете менять их после релиза, может сработать триггер, и ваше приложение уйдет к ревьюеру.
13. Не забудьте обновить интерфейс должным образом, когда пользователь оформил подписку
Например, измените статус подписки пользователя в настройках приложения с Бесплатного на Премиум.
14. Может сперва обойтись без подписок?
Если вы боитесь, что вас могут не пропустить из-за недостатка контента или функционала, то поначалу отправьте на модерацию версию без подписок. После успешного прохождения первой проверки выпустите несколько обновлений (можно с незначительными изменениями) и после этого добавьте платные подписки.
15. Не забудьте про описание приложения в App Store Connect
В описании приложения в App Store Connect не забудьте добавить информацию о подписках, включая их название, цену и длительность.
Если вас отреджетили, не тратьте время на споры. Спорить с ревьюерами бесполезно. Просто исправьте, что они просят.
Заключение
Сейчас каждую неделю в App Store проверяется 100 000 новых приложений и обновлений. И 40% из них отклоняют по самым разным причинам. Очень сложно пробиться в App Store без единого реджекта, особенно с подписками. Однако если вы будете соблюдать наши советы, то ваши шансы пройти проверку с первого раза сильно возрастут.
Хотите внедрить подписки в iOS-приложение за 10 минут? Интегрируйте Apphud и:
- оформляйте покупки с помощью лишь одного метода;
- автоматически отслеживайте состояние подписки каждого пользователя;
- легко интегрируйте Subscription Offers;
- отправляйте события о подписках в Amplitude, Mixpanel, Slack и Telegram с учетом локальной валюты пользователя;
- уменьшайте Churn rate в приложениях и возвращайте отписавшихся пользователей.