Если вы когда-либо испытывали проблему с аппрувом приложений с подписками или вот-вот планируете релиз, тогда это будет вам полезно.
Как вы наверняка знаете, проверка состоит из двух этапов: ручная проверка (приложение просматривает человек) и автоматическая проверка ботом. Но не каждое обновление проверяется человеком. С каждым годом доля автоматических проверок увеличивается и бот берет на себя все бóльшую роль при проверки приложений.
Мы не знаем, как именно проверяют приложения и в каком случае оно отправляется на ручную проверку, но наш опыт подсказывает, что справедливо следующее.
Ниже мы приводим некоторые рекомендации, которые помогут облегчить прохождение модерации.
Если вы добавите новые подписки в обновлении, то оно с большой вероятностью уйдет на модерацию к ревьюеру. А ведь разумно сводить число ручных проверок к минимуму, правда? Поэтому желательно отправлять на ревью приложение сразу с полным набором подписок. Создайте несколько продуктов с разными ценами и длительностями, даже если они сейчас и не нужны. Поверьте, в будущем пригодятся.
Избегайте неочевидных трактовок и нестандартных интерфейсных решений. В первый раз пройдите проверку с самым простым экраном покупки. Когда пройдете, сможете его обновить по своему усмотрению (но, разумеется, в рамках App Review Guidelines).
Кстати, ревьюеры запросто могут проверить ваше приложение вручную в любое время. Даже если вы не отправляли обновление. Учитывайте это и не меняйте интерфейс экрана покупки после прохождения модерации без ведома Apple. Это чревато удалением приложения из App Store.
Модераторы Apple не будут тратить много времени на поиск всех возможных подписок в вашем приложении. Потому мы советуем сделать один экран со всеми возможными покупками, доступными пользователю. Например, используйте одну большую кнопку с основной подпиской и кнопку “показать больше опций”, при нажатии на которую будет показываться экран с остальными вариантами подписок.
Это крайне важный пункт. Информация о подписке может быть написана мелким шрифтом (но оставаться читабельной), может быть обрезана, но обязательно должна быть видна хотя бы частично без прокрутки экрана.
На экране покупки вы должны указать следующее:
Для доступа к [Перечень платных функций] вы должны приобрести подписку [Название подписки]. Подписка производится с вашего аккаунта iTunes и обновляется автоматически. Отмена подписки производится в основных настройках iOS в параметрах учетной записи iTunes не менее чем за 24 часа до окончания текущего периода. Стоимость подписки будет списана в течение 24 часов после окончания пробного периода. Любая неиспользованная часть бесплатного пробного периода, если таковая предлагается, будет аннулирована, когда пользователь приобретает подписку на эту публикацию, где это применимо
Мы также рекомендуем для первой проверки добавить в самое начало еще одну фразу :
Удаление приложения не отменяет подписку автоматически.
или на английском:
Removing the app doesn’t automatically cancel the subscription.
В последующих обновлениях это предложение можно опустить.
Ревьюеры почти всегда проверяют приложения на iPad, на которых стоят экраны с пропорциями iPhone 6s. Поэтому обязательно проверьте экраны покупки на iPhone 5s/SE и 6/6s.
Никогда не показывайте пользователю экран покупки без предварительно загруженных продуктов. Приложение отклонят, если вы отобразите ревьюеру кликабельный экран покупки без цены на кнопке, пусть даже на пару секунд.
Всегда указывайте полную цену, соответствующую периоду подписки: 599 руб в год, 199 руб в неделю. Не делите цены (например, на кнопке нельзя показывать цену28 руб в день (28 руб ~ 199 руб / 7 дней) при подписке 199 рублей в неделю).
Цены покупок должны быть показаны пользователю в его валюте. Это можно сделать, например, так:
func localizedPriceStringFor(product : SKProduct) -> String? { let formatter = NumberFormatter() formatter.locale = product.priceLocale formatter.numberStyle = .currency return formatter.string(from: product.price) }
Ревьюеры всегда их открывают, но в текст особо не вчитываются. Убедитесь, что ссылки не битые и не перепутаны. Для создания правил и политики можно воспользоваться любым генератором, например, TermsFeed, Termly или даже этим безымянным сервисом.
На экране покупки следует обязательно разместить кнопку восстановления покупок (Restore Purchases). Желательно хотя бы на первый релиз сделать ее крупной и назвать именно “Восстановить Покупки” (“Restore Purchases”). Известны случаи, когда приложение отклоняли из-за того, что на кнопке было указано “Restore” (“Восстановить”) вместо “Restore Purchases” (“Восстановить Покупки”)
Месячная – в самый раз. Добавьте щедрый триал – уменьшить его можно в любое время.
Желательно сразу указать действительные цены. Если будете менять их после релиза, может сработать триггер, и ваше приложение уйдет к ревьюеру.
Например, измените статус подписки пользователя в настройках приложения с Бесплатного на Премиум.
Если вы боитесь, что вас могут не пропустить из-за недостатка контента или функционала, то поначалу отправьте на модерацию версию без подписок. После успешного прохождения первой проверки выпустите несколько обновлений (можно с незначительными изменениями) и после этого добавьте платные подписки.
В описании приложения в App Store Connect не забудьте добавить информацию о подписках, включая их название, цену и длительность.
Если вас отреджетили, не тратьте время на споры. Спорить с ревьюерами бесполезно. Просто исправьте, что они просят.
Сейчас каждую неделю в App Store проверяется 100 000 новых приложений и обновлений. И 40% из них отклоняют по самым разным причинам. Очень сложно пробиться в App Store без единого реджекта, особенно с подписками. Однако если вы будете соблюдать наши советы, то ваши шансы пройти проверку с первого раза сильно возрастут.