~10 мин

Причины отказа в App Store и Google Play: топ-6 и как избежать

За что реджектят чаще всего - и как не наступить на эти грабли

Почему приложение не проходит ревью в App Store и Google Play: краши, недоделки, битые ссылки, нет политики приватности, фейковые скриншоты, лишние разрешения. И как это починить заранее.

Кто и как проверяет приложение перед публикацией

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

Ревью в App Store и Google Play работает ровно так же. По ту сторону - живой человек с чек-листом, у которого пара минут на твою сборку. Он не ищет, за что тебя похвалить. Он ищет, к чему придраться. И находит, как правило, одно и то же: упало, недоделано, ссылка битая, скриншот врёт, просит лишнего.

Инспектор с чек-листом обходит приложение-домик, дёргает двери и краны, ищет к чему придраться
Ревьюер - это инспектор с чек-листом. Он ищет повод вернуть, а не повод пропустить.

Почему один отказ стоит тебе недели

Каждый реджект - это потерянные дни. Отправил сборку. Отстоял очередь. Получил сухое «rejected». Полез читать формулировку правила. Починил. Отправил снова. И снова ждёшь. Один глупый недосмотр - и вот она, неделя простоя на пустом месте.

  • Сэкономишь дни и нервы: починить заранее в разы дешевле, чем после отказа.
  • Перестанешь воспринимать реджект как личную обиду - это просто пункт чек-листа, который ты прозевал.
  • Начнёшь думать как ревьюер ещё на этапе разработки, а не вспоминать про правила в последний день.
  • Вайбкодинг обожает плодить полуфабрикаты: ИИ нарисовал красивый экран, а кнопка под ним - пустышка. Магазины это ловят на раз.

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

Топ-6 причин отказа в App Store и Google Play

Пройдёмся по самым частым граблям. По каждой - в чём суть и какое лекарство.

1. Краши и баги: приложение падает на проверке

Приговор номер один. Приложение падает или явно глючит на любом экране, который открыл ревьюер, - всё, разговор окончен. Магазин не обязан выяснять, что у тебя «вообще-то почти всё работает». Упало на проверке - значит, отказ. Точка.

Лекарство: пройди весь сценарий руками перед отправкой - так, будто видишь приложение впервые. Отдельно гоняй первый запуск, вход, пустые состояния (когда данных ещё нет) и поведение на плохой связи. Именно там обычно всё и сыплется.

2. Недоделанный функционал и заглушки в релизе

Экраны с надписью «Скоро будет», текст-рыба Lorem Ipsum , кнопки в никуда - один из самых частых поводов завернуть новичка. Магазину нужен готовый продукт. Не демо с дырами, не «почти финал» - готовый.

Лекарство: правило простое до неприличия - каждая кнопка, до которой можно дотянуться с первого экрана, должна делать что-то реальное. Фичи пока нет? Убери кнопку, а не лепи заглушку. Никаких «TODO», плейсхолдеров и «временных» экранов в релизной сборке.

3. Нерабочие ссылки: битый URL стоит отказа

Битая ссылка - вроде мелочь, а стоит целого отказа. Чаще всего спотыкаются на ссылке на политику приватности: она ведёт на пустую страницу, на 404 или вообще отсутствует. Ревьюер не может проверить твои обещания про данные - значит, не пропустит.

Лекарство: открой каждую ссылку руками перед отправкой. В приложении, в карточке магазина, в поддержке. Все должны открываться и вести туда, куда заявлено. Никакого «localhost» и черновиков, которые ты забыл подменить.

4. Нет политики приватности (Guideline 5.1.1)

Почти любому приложению сегодня нужна политика приватности . Нарушения правил о приватности (у Apple это раздел Guideline 5.1.1) - одна из самых частых причин отказа, особенно у новичков.

Что требуется:

Что должно быть
  • Рабочая ссылка в двух местах: в метаданных карточки магазина и внутри самого приложения, где её легко найти.
  • Честное описание: какие данные собираешь, как и зачем, кому передаёшь - аналитика, реклама, сторонние сервисы.
  • Совпадение с реальностью: то, что написано в политике, должно совпадать с тем, что приложение реально делает.
За что заворачивают
  • Политики нет вообще или ссылка битая.
  • Метки приватности в карточке не сходятся с тем, что собирает приложение.
  • Собираешь данные без согласия или давишь на пользователя, чтобы выпросить лишний доступ.

5. Вводящие в заблуждение скриншоты в карточке

Скриншоты в карточке - это витрина. И показывать она обязана ровно то, что внутри сборки, которую ты отправил. Красивые картинки с фичами «из будущего», чужой интерфейс, экраны, которых в приложении нет, - прямой путь к отказу за обман.

Лекарство: снимай скриншоты с текущей сборки, а не из макетов дизайнера. Никакого фотошопа поверх, никаких функций, которых ещё нет. Покажи ровно то, что человек увидит, скачав приложение, - ни кадром больше.

6. Запрос лишних разрешений приложением

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

Лекарство: проси только то, что реально используешь прямо сейчас, и к каждому разрешению дай понятное объяснение - зачем оно. Сомневаешься, нужна ли фича в этом релизе? Убирай - и разрешение вместе с ней.

Чек-лист из шести пунктов с галочками: краши, недоделки, ссылки, приватность, скриншоты, разрешения
Шесть граблей перед сдачей. Пройди по списку - и большинства отказов не будет.

Чек-лист перед отправкой приложения на ревью

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

Чек-лист перед отправкой на ревью
  1. Прошёл всё приложение руками на свежей установке без своих данных - нигде не упало.
  2. Проверил пустые экраны, вход и поведение при плохой связи - ничего не сломалось.
  3. Каждая кнопка с первого экрана делает что-то реальное. Заглушек, «Скоро будет» и текста-рыбы нет.
  4. Открыл каждую ссылку - в приложении и в карточке. Все рабочие, ведут куда надо.
  5. Политика приватности есть, ссылка живая в двух местах, текст совпадает с тем, что приложение реально собирает.
  6. Скриншоты сняты с текущей сборки, без фотошопа и фич из будущего.
  7. Прошёлся по списку разрешений - оставил только нужные, у каждого есть понятное объяснение зачем.
  8. Описание и метки приватности в карточке не обещают того, чего в приложении нет.

Приложение писал ИИ? Скорми ему этот промпт - пусть сам отыщет мины, которые любит закладывать. Только ответ перепроверь сам, а не верь на слово: ИИ умеет и придумывать проблемы, и прятать настоящие.

Промпт - попроси ИИ найти причины отказа

Проверь моё приложение перед отправкой на ревью в App Store и Google Play. Найди и перечисли всё, за что его могут отклонить:

  1. Экраны или кнопки, которые падают, ничего не делают или ведут в никуда.
  2. Заглушки: «Скоро будет», текст-рыба, серые квадраты вместо картинок, пометки TODO.
  3. Битые или временные ссылки (localhost, черновики), особенно на политику приватности.
  4. Разрешения, которые запрашиваются, но реально не используются в коде.

По каждой находке скажи: где она в коде и как её убрать. Не придумывай несуществующих проблем - только то, что реально есть.

Частые ошибки, из-за которых заворачивают сборку

  • Тестировать только на своём устройстве. У тебя уже есть данные и выданы все разрешения. Ревьюер видит чистую установку, где всё иначе. Проверяй с нуля.
  • Оставлять «временные» заглушки. Кнопка-пустышка или экран «Скоро будет» - готовый повод для отказа. В релиз идёт только то, что работает.
  • Не открыть ссылки руками. Особенно на политику приватности: одна 404 - и сборку вернут. Кликни каждую перед отправкой.
  • Рисовать скриншоты в фотошопе. Витрина обязана совпадать со сборкой. Красивые фичи из будущего читаются как обман.
  • Просить разрешения «про запас». Доступ, который не используется, - тревожный сигнал. Бери только нужное и объясняй зачем.
  • Воспринимать отказ как катастрофу. Реджект - это пункт чек-листа, который ты прозевал. Прочитал формулировку, починил, отправил снова - и поехали дальше.

TL;DR - если коротко

  • Ревьюер - это живой человек с чек-листом, а не робот. За пару минут он ищет, к чему придраться. Твоя задача - не дать поводов.
  • Краши и баги - приговор номер один. Приложение не должно падать ни на одном экране, который откроет ревьюер.
  • Недоделки и заглушки («Скоро будет», текст-рыба, мёртвые кнопки) кричат «продукт сырой». Убери всё, что не работает.
  • Политика приватности нужна почти всегда: рабочая ссылка и в карточке магазина, и внутри приложения. Битая или её нет - частый отказ.
  • Скриншоты показывают ровно то, что в сборке. Никаких фич из будущего и красивого фотошопа.
  • Разрешения проси только те, что реально используешь, и объясни зачем. Лишние - тревожный сигнал.

Поиск по вики

Нажмите Esc для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.