Причины отказа в App Store и Google Play: топ-6 и как избежать
За что реджектят чаще всего - и как не наступить на эти грабли
Почему приложение не проходит ревью в App Store и Google Play: краши, недоделки, битые ссылки, нет политики приватности, фейковые скриншоты, лишние разрешения. И как это починить заранее.
Кто и как проверяет приложение перед публикацией
Представь, что ты сдаёшь квартиру, а перед заселением приходит дотошный инспектор. Жить в ней месяцами он не собирается. Пять минут - и он прошёлся по комнатам, дёрнул каждую ручку, проверил, течёт ли кран, заглянул под раковину. Один таракан - и акт не подписан.
Ревью Ревью (review) - проверка приложения людьми и автоматикой со стороны магазина перед публикацией. Решают, пустить тебя в магазин или вернуть на доработку. в App Store и Google Play работает ровно так же. По ту сторону - живой человек с чек-листом, у которого пара минут на твою сборку. Он не ищет, за что тебя похвалить. Он ищет, к чему придраться. И находит, как правило, одно и то же: упало, недоделано, ссылка битая, скриншот врёт, просит лишнего.
Почему один отказ стоит тебе недели
Каждый реджект - это потерянные дни. Отправил сборку. Отстоял очередь. Получил сухое «rejected». Полез читать формулировку правила. Починил. Отправил снова. И снова ждёшь. Один глупый недосмотр - и вот она, неделя простоя на пустом месте.
- Сэкономишь дни и нервы: починить заранее в разы дешевле, чем после отказа.
- Перестанешь воспринимать реджект как личную обиду - это просто пункт чек-листа, который ты прозевал.
- Начнёшь думать как ревьюер ещё на этапе разработки, а не вспоминать про правила в последний день.
- Вайбкодинг обожает плодить полуфабрикаты: ИИ нарисовал красивый экран, а кнопка под ним - пустышка. Магазины это ловят на раз.
Большинство отказов попадают в пять корзин: неполная информация, сломанная функциональность, нарушения приватности, проблемы дизайна и несоответствие правилам. Запомни эту пятёрку - и ты уже на шаг впереди большинства новичков.
Топ-6 причин отказа в App Store и Google Play
Пройдёмся по самым частым граблям. По каждой - в чём суть и какое лекарство.
1. Краши и баги: приложение падает на проверке
Приговор номер один. Приложение падает или явно глючит на любом экране, который открыл ревьюер, - всё, разговор окончен. Магазин не обязан выяснять, что у тебя «вообще-то почти всё работает». Упало на проверке - значит, отказ. Точка.
Лекарство: пройди весь сценарий руками перед отправкой - так, будто видишь приложение впервые. Отдельно гоняй первый запуск, вход, пустые состояния (когда данных ещё нет) и поведение на плохой связи. Именно там обычно всё и сыплется.
2. Недоделанный функционал и заглушки в релизе
Экраны с надписью «Скоро будет», текст-рыба Lorem Ipsum Lorem Ipsum (лорем ипсум) - стандартный текст-заглушка на псевдолатыни, который вставляют вместо настоящего контента на этапе вёрстки. В готовом приложении его быть не должно. , кнопки в никуда - один из самых частых поводов завернуть новичка. Магазину нужен готовый продукт. Не демо с дырами, не «почти финал» - готовый.
Лекарство: правило простое до неприличия - каждая кнопка, до которой можно дотянуться с первого экрана, должна делать что-то реальное. Фичи пока нет? Убери кнопку, а не лепи заглушку. Никаких «TODO», плейсхолдеров и «временных» экранов в релизной сборке.
3. Нерабочие ссылки: битый URL стоит отказа
Битая ссылка - вроде мелочь, а стоит целого отказа. Чаще всего спотыкаются на ссылке на политику приватности: она ведёт на пустую страницу, на 404 или вообще отсутствует. Ревьюер не может проверить твои обещания про данные - значит, не пропустит.
Лекарство: открой каждую ссылку руками перед отправкой. В приложении, в карточке магазина, в поддержке. Все должны открываться и вести туда, куда заявлено. Никакого «localhost» и черновиков, которые ты забыл подменить.
4. Нет политики приватности (Guideline 5.1.1)
Почти любому приложению сегодня нужна политика приватности Политика приватности (privacy policy) - документ, который понятно описывает, какие данные приложение собирает, как и зачем, и кому передаёт. Нужен почти для всех приложений в обоих магазинах. . Нарушения правил о приватности (у Apple это раздел Guideline 5.1.1) - одна из самых частых причин отказа, особенно у новичков.
Что требуется:
- Рабочая ссылка в двух местах: в метаданных карточки магазина и внутри самого приложения, где её легко найти.
- Честное описание: какие данные собираешь, как и зачем, кому передаёшь - аналитика, реклама, сторонние сервисы.
- Совпадение с реальностью: то, что написано в политике, должно совпадать с тем, что приложение реально делает.
- Политики нет вообще или ссылка битая.
- Метки приватности в карточке не сходятся с тем, что собирает приложение.
- Собираешь данные без согласия или давишь на пользователя, чтобы выпросить лишний доступ.
5. Вводящие в заблуждение скриншоты в карточке
Скриншоты в карточке - это витрина. И показывать она обязана ровно то, что внутри сборки, которую ты отправил. Красивые картинки с фичами «из будущего», чужой интерфейс, экраны, которых в приложении нет, - прямой путь к отказу за обман.
Лекарство: снимай скриншоты с текущей сборки, а не из макетов дизайнера. Никакого фотошопа поверх, никаких функций, которых ещё нет. Покажи ровно то, что человек увидит, скачав приложение, - ни кадром больше.
6. Запрос лишних разрешений приложением
Разрешения Разрешение (permission) - доступ, который приложение просит у пользователя: камера, микрофон, геолокация, контакты, уведомления. Каждое должно быть оправдано тем, что приложение делает. вроде геолокации в фоне, доступа к контактам, камере или SMS магазины проверяют особенно строго. Просишь доступ, который никак не вяжется с тем, что приложение делает, - это тревожный сигнал, и сборку завернут.
Лекарство: проси только то, что реально используешь прямо сейчас, и к каждому разрешению дай понятное объяснение - зачем оно. Сомневаешься, нужна ли фича в этом релизе? Убирай - и разрешение вместе с ней.
Чек-лист перед отправкой приложения на ревью
Перед тем как жать «Отправить на ревью», пройди по списку - вслух. На каждый пункт честное «да», без поблажек себе.
- Прошёл всё приложение руками на свежей установке без своих данных - нигде не упало.
- Проверил пустые экраны, вход и поведение при плохой связи - ничего не сломалось.
- Каждая кнопка с первого экрана делает что-то реальное. Заглушек, «Скоро будет» и текста-рыбы нет.
- Открыл каждую ссылку - в приложении и в карточке. Все рабочие, ведут куда надо.
- Политика приватности есть, ссылка живая в двух местах, текст совпадает с тем, что приложение реально собирает.
- Скриншоты сняты с текущей сборки, без фотошопа и фич из будущего.
- Прошёлся по списку разрешений - оставил только нужные, у каждого есть понятное объяснение зачем.
- Описание и метки приватности в карточке не обещают того, чего в приложении нет.
Приложение писал ИИ? Скорми ему этот промпт - пусть сам отыщет мины, которые любит закладывать. Только ответ перепроверь сам, а не верь на слово: ИИ умеет и придумывать проблемы, и прятать настоящие.
Проверь моё приложение перед отправкой на ревью в App Store и Google Play. Найди и перечисли всё, за что его могут отклонить:
- Экраны или кнопки, которые падают, ничего не делают или ведут в никуда.
- Заглушки: «Скоро будет», текст-рыба, серые квадраты вместо картинок, пометки TODO.
- Битые или временные ссылки (localhost, черновики), особенно на политику приватности.
- Разрешения, которые запрашиваются, но реально не используются в коде.
По каждой находке скажи: где она в коде и как её убрать. Не придумывай несуществующих проблем - только то, что реально есть.
Частые ошибки, из-за которых заворачивают сборку
- Тестировать только на своём устройстве. У тебя уже есть данные и выданы все разрешения. Ревьюер видит чистую установку, где всё иначе. Проверяй с нуля.
- Оставлять «временные» заглушки. Кнопка-пустышка или экран «Скоро будет» - готовый повод для отказа. В релиз идёт только то, что работает.
- Не открыть ссылки руками. Особенно на политику приватности: одна 404 - и сборку вернут. Кликни каждую перед отправкой.
- Рисовать скриншоты в фотошопе. Витрина обязана совпадать со сборкой. Красивые фичи из будущего читаются как обман.
- Просить разрешения «про запас». Доступ, который не используется, - тревожный сигнал. Бери только нужное и объясняй зачем.
- Воспринимать отказ как катастрофу. Реджект - это пункт чек-листа, который ты прозевал. Прочитал формулировку, починил, отправил снова - и поехали дальше.
TL;DR - если коротко
- Ревьюер - это живой человек с чек-листом, а не робот. За пару минут он ищет, к чему придраться. Твоя задача - не дать поводов.
- Краши и баги - приговор номер один. Приложение не должно падать ни на одном экране, который откроет ревьюер.
- Недоделки и заглушки («Скоро будет», текст-рыба, мёртвые кнопки) кричат «продукт сырой». Убери всё, что не работает.
- Политика приватности нужна почти всегда: рабочая ссылка и в карточке магазина, и внутри приложения. Битая или её нет - частый отказ.
- Скриншоты показывают ровно то, что в сборке. Никаких фич из будущего и красивого фотошопа.
- Разрешения проси только те, что реально используешь, и объясни зачем. Лишние - тревожный сигнал.