Как пройти модерацию App Store в 2024-м и что учесть, чтобы релиз прошёл в срок

Всем привет! Это Эд Хорьков из КОД9. Мы 14 лет занимаемся мобильной разработкой и уже набили шишек на релизах в App Store: знаем, что может смутить их модерацию, отложить релиз и поставить заказчика и разработчиков в ступор. В статье обобщим опыт наших последних запусков и расскажем, на что стоит обратить внимание.

Как пройти модерацию App Store в 2024-м и что учесть, чтобы релиз прошёл в срок

Не претендуем на энциклопедичность — скорее, делимся опытом

Перед релизом модераторы из App Store проверят, соответствует ли ваше приложение гайдлайнам. В статье мы не будем полностью пересказывать эти требования — их несложно найти и прочитать, ссылку оставим ниже. А мы расскажем о своём опыте и неочевидных проблемах, которые встречались во время релизов.

👉 Почитать гайдлайны App Store Review

О модерации в App Store — кратко

Сначала хочу объяснить, как в целом устроен процесс и с чем вообще могут возникнуть трудности. Если уже знаете, как проходит ревью в App Store, можно сразу перейти к советам →

Ваше приложение будет смотреть живой человек. В процессе наверняка есть и автоматизация, но большинство сценариев проверяют вручную. Имейте это в виду и сделайте так, чтобы модератор разобрался, как всё устроено, смог залогиниться и дойти до ключевых функций.

С модератором даже можно переписываться, но надеяться на скорость ответов не стоит. Если вам и придётся общаться, это будет больше похоже на переписку по электронной почте, чем на чат. Если проблем не будет, на проверку уйдёт 2–3 дня.

Приложение будут тестировать не только на айфоне, но и на айпаде. Ещё и на компьютерах с процессором Apple Silicon, если вы включили такую опцию в App Store Connect:

В macOS 11 добавили возможность запускать приложения на компьютерах с процессором Apple Silicon. Для этого в App Store Connect нужно поставить флажок возле iPhone and iPad Apps on Apple Silicon Macs в секции Pricing and Availability
В macOS 11 добавили возможность запускать приложения на компьютерах с процессором Apple Silicon. Для этого в App Store Connect нужно поставить флажок возле iPhone and iPad Apps on Apple Silicon Macs в секции Pricing and Availability

Что такое App Store Connect

Это система, в которой вы подаёте новые версии приложения на проверку, а ещё заполняете метаданные: название, описание, скриншоты, возрастной рейтинг и другие детали.

Загляните в Connect — там важно освоиться заранее, чтобы не тратить слишком много времени перед релизом.

👉 Зарегистрироваться в Connect

Учитывайте, что приложение посмотрят не только на телефонах и тщательно протестируйте всё перед релизом. Если включите возможность запуска на Mac, убедитесь, что там всё тоже работает корректно.

Если случится хотя бы один крэш, в релизе откажут. Если багов будет много — тоже. Поэтому на релиз важно отправлять версию, в которой вы уверены.

Если возникнут основания для отказа, дальше смотреть не будут. Например, если модератор не сможет авторизоваться, вам сразу придёт отказ.

Проблемы могут быть не с приложением, а в метаданных. Подойдите к ним серьёзно и выделите время. Например, суммарно только на заполнение у нас уходит примерно 2–2,5 часа — без учёта времени на подготовку скриншотов и описания.

С метаданными как раз и возникают самые неожиданные проблемы — ниже расскажу об этом подробнее.

Если есть платная подписка или покупки в приложении, заранее добавьте их в App Store Connect

Теперь представим, что у вас уже есть рабочая версия приложения. Вы всё продумали и уверены, что готовы к релизу. Тогда ваша задача — разобраться с метаданными.

Начнём с монетизации. Все подписки, покупки дополнительного контента и новых функций в приложении нужно реализовать через In-App purchases. А их, в свою очередь, тоже придётся настраивать в App Store Connect.

Что такое In-App Purchases

Если у вас приложение-маркетплейс, где покупают товары, то платежи можно получать напрямую. Но продавать дополнительный контент или функции так нельзя — для этого в магазинах приложений придумали механизм для внутренних покупок, In-App Purchases.

Например, вам придётся настраивать In-App Purchases, если хотите продавать в приложении:

— контент,

— подписку на услуги,

— дополнительные функции,

— виртуальную валюту и любые дополнительные возможности и контент в играх.

Если впервые делаете релиз в App Store, и у приложения есть внутренние покупки, их важно добавить заранее и подать на проверку (submit) вместе с самим приложением. Иначе модераторы его отклонят.

🔧 Как это сделать. Чтобы настроить In-App Purchases, нужно указать суммы и валюту всех возможных покупок, добавить скриншоты всех тарифных планов, дать ссылку на Terms of use и вашу политику конфиденциальности. Внутри App Store Connect это выглядит вот так:

Добавляем в приложение подписки на Pro-версию
Добавляем в приложение подписки на Pro-версию
Отдельно заводим покупки на месяц, квартал, полгода и год, объединяем их в группу Pro
Отдельно заводим покупки на месяц, квартал, полгода и год, объединяем их в группу Pro
Добавляем имя для каждой покупки и загружаем скриншот того, как она выглядит в приложении
Добавляем имя для каждой покупки и загружаем скриншот того, как она выглядит в приложении

А вот примерный текст Terms of use, который также нужно будет добавить для настройки внутренних покупок. В нашем случае говорим, что есть бесплатная версия на неделю и ещё несколько вариантов подписок на разный срок:

We offer a FREE 7-Day Trial included in each subscription type.

After the end of the trial period, a payment for the subscription selected will be automatically charged to your account. You can cancel it at any time during your trial.

All subscriptions will automatically renew unless you turn off auto-renew at least 24 hours before the end of the current subscription period.

The account is charged for renewal within 24 hours before the end of the current period. You can manage and cancel your subscriptions by going to your App Store account settings after purchase. All personal data is handled under the Terms of Use and Privacy Policy.

📲 История о том, как мы не прошли модерацию. Однажды мы отправили на проверку приложение, в котором были платные подписки, но для их покупки нужно было уйти на сайт. Модераторы это заметили и не дали нам запуститься.

Пришлось настроить In-App Purchases. А для этого нужно было быстро разработать и добавить в приложение функцию платной подписки, возможность регистрироваться и авторизовываться — раньше всё это делалось через сайт. Причём разработка логики In-App Purchases была гораздо сложнее и заняла больше времени, чем регистрация и авторизация.

В итоге релиз состоялся, но мы с заказчиком потратили больше времени и нервов, чем планировали.

Если в приложении есть регистрация, предусмотрите учётную запись для модератора

Модератор App Store будет тестировать ваше приложение из США. Это значит, например, что получить смску от российского сервиса он, скорее всего, не сможет. Если это помешает ему зарегистрироваться в приложении, то в релизе сразу откажут, даже не разбираясь с другими функциями — ведь дойти до них и не получится.

🔧 Как это сделать. Советуем вручную завести учётную запись специально для модератора и убедиться, что у этого профиля будет полноценный доступ ко всем функциям даже из другой страны.

Добавить логин и пароль нужно в пункт App Review Information в App Store Connect. А ниже там есть поле Notes, где можно расписать остальные нюансы регистрации и авторизации, которые важно знать модератору.

Добавьте сюда входные данные для модератора
Добавьте сюда входные данные для модератора

💡 Ещё пара важных моментов про регистрацию

Она нужна не везде. Например, если вы сделали приложение с игрой в крестики-нолики и добавили туда регистрацию, на проверке вам могут указать, что она не имеет смысла, и не пропустить релиз.

Мы однажды попались на этом, но дело было давно: в 2015-м делали приложение, где люди могли скачать аудиопримеры разных английских акцентов. Заказчик попросил добавить туда авторизацию через соцсети. А модераторы попросили убрать, потому что пользователи не создают контент сами, их данные вам тоже не нужны — значит, незачем просить их логиниться.

Если она есть, должна быть возможность удалить профиль. Добавьте в настройки эту функцию или хотя бы ссылку на инструкцию о том, как запросить удаление записи и персональных данных. Иначе в релизе могут отказать: такие требования есть в гайдлайнах.

Перепроверьте список данных, которые собираете о пользователях

В метаданных обязательно нужно указать, какую информацию о пользователях вы будете собирать и зачем. Вы вряд ли забудете упомянуть, что приложению нужны почты и имена людей, чтобы создавать профили. Но есть риск забыть о технических данных.

Например, важно указать, что данные уходят в аналитические системы. Многие наши приложения отдают информацию в Crashlytics, с помощью которой мы оцениваем производительность и смотрим, с какими ошибками и крэшами сталкиваются пользователи. Ещё мы часто используем Amplitude — туда передаётся ещё больше информации. Если не рассказать об этом, приложение может не пройти модерацию.

🔧 Как это сделать. Среди метаданных есть раздел App Privacy — там нужно указать все данные, которые приложение собирает о пользователях.

Так выглядит раздел App Privacy
Так выглядит раздел App Privacy
А так мы указываем, что собираем данные о крэшах
А так мы указываем, что собираем данные о крэшах

Перепроверьте категорию — особенно если выпускаете MVP

Если модераторы решат, что набор функций в приложении не соответствует обещанному в метаданных, в релизе могут отказать. Поэтому важно точно выбрать категорию — это особенно актуально, если запускаете не совсем полноценный продукт, а MVP.

💡 Важная оговорка про MVP

Строго говоря, по гайдлайнам Apple бета-версии и MVP приложений нельзя публиковать в App Store — их нужно распространять только через TestFlight.

Но если всё же решили выпустить первую или бета-версию продукта в App Store, не упоминайте об этом в метаданных. Не используйте слова вроде Beta или MVP в названии, описании и других полях в App Store Connect. Иначе сразу придёт отказ.

Например, вы хотите запустить новую соцсеть и решили протестировать спрос. Но в MVP у вас можно только регистрироваться и писать посты, а реагировать на них нельзя. В таком случае пока нет смысла ставить категорию Social Networking — есть риск, что приложение отклонят, потому что социальных механик в нём недостаточно.

🔧 Как это сделать. У приложения можно выбрать первичную и вторичную категорию в выпадающих списках.

Так выбор категорий выглядит в App Store Connect
Так выбор категорий выглядит в App Store Connect

Внимательно отнеситесь к выбору категории и не обещайте несуществующих функций в других метаданных, например, описании и скриншотах.

📲 История о том, как мы не прошли модерацию. Один наш заказчик хотел выпустить приложение для интернет-магазина. Но в первой версии заказывать товары в нём было нельзя: для этого приходилось отправлять в чат с поддержкой ссылки на то, что хотите купить. Приложение вышло странным, но планировалось, что этого хватит для проверки гипотезы.

В итоге вышло так: в названии было слово «интернет-магазин», в описании мы обещали функции интернет-магазина, поставили категорию Shopping, но купить там товары было нельзя. В релизе нам отказали.

Если делаете приложение для носимых устройств, отправьте модератору видео с ним

Задача модераторов App Store — проверить все функции. Если они сталкиваются с тем, что часть из них нельзя протестировать, в релизе могут отказать. Поэтому если делаете приложение для носимых устройств, продумайте, как покажете модератору процесс подключения и работы с девайсом.

🔧 Как это сделать. Предусмотрите рассказ о том, как работает ваше носимое устройство и как с ним можно взаимодействовать — это стоит записать на видео.

📲 История о том, как мы не прошли модерацию. Мы сделали приложение для портативных мышечных стимуляторов PowerDot. Девайсом пользуются спортсмены, фитнес-энтузиасты и другие люди, которые ведут активный образ жизни. Мы уже подробно рассказали об этом проекте в другой статье:

Перед первым релизом модераторы попросили нас отправить девайсы к ним в Калифорнию, чтобы проверить, как всё работает. Посылка шла около месяца, и всё это время мы ждали ревью. Кстати, Apple так и не вернули стимуляторы обратно.

А во время релиза одного из обновлений модераторы потребовали у нас видео, на котором будет понятно, как работает стимулятор. Пришлось записать процесс подключения девайса к телефону и показать, как проходит одна из программ стимуляции.

Показываем модерации, что девайс действительно существует и подключается к телефону

💡 Ещё одна история про PowerDot

За рубежом этот девайс используют в медицинских целях — например, программу мышечной стимуляции могут назначить в качестве реабилитации. Для таких задач мы сделали отдельное приложение — PowerDot Medical.

На первом релизе нас попросили прислать все медицинские сертификаты, чтобы убедиться, что PowerDot прошёл клинические испытания. У заказчиков были все документы, в том числе сертификат FDA и мед лицензии для Европы. Модераторы изучали их несколько недель, а потом пропали — пришлось пару раз напомнить о себе в App Store Connect, чтобы релиз всё-таки состоялся.

Кратко: что учесть при публикации в App Store, чтобы не было проблем на модерации

👉 Если в приложении будет платная подписка или покупки, их придётся добавить через In-App purchases, которые важно заранее настроить в App Store Connect. Заложите на это время.

👉 Если в приложении есть регистрация, сделайте учётную запись для модератора — он будет тестировать приложение из США. Если ревьюер не сможет залогиниться, то сразу откажет в релизе.

👉 В метаданных обязательно нужно указать, какую информацию о пользователях вы будете собирать и зачем. Не забудьте добавить туда все данные, которые уходят в аналитические системы, например, Crashlytics или Amplitude.

👉 По гайдлайнам Apple бета-версии и MVP нельзя публиковать в App Store, их нужно запускать только через TestFlight. Но если всё же решили тестировать спрос с MVP, не пишите об этом в метаданных. И будьте осторожны с категорией: если модераторы решат, что набор функций не соответствует обещанному, в релизе откажут.

👉 Если делаете приложение для носимых устройств, продумайте, как покажете модератору процесс подключения и работы с девайсом. На первом релизе PowerDot мы отправляли устройства в Калифорнию, а при одном из обновлений пришлось снять их на видео.

Мы давно занимаемся мобильной разработкой и набрали большой опыт по работе с App Store. Обращайтесь, если нужно выпустить приложение или помочь с проблемами во время релиза ↓

3030
Начать дискуссию