Восемь причин, по которым проверка App Store возвращает ваше приложение

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

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

1 — Нет демо-аккаунта, с помощью которого проверяющий может открыть ваше приложение

Это самая частая причина у приложений, которые начинаются с экрана входа. Проверяющий не является вашим клиентом, и у него нет номера телефона, зарегистрированного в вашей системе, поэтому без готовых учётных данных он останавливается на первом экране. Правило Apple о полноте приложения (App Completeness, 2.1) однозначно: отправляйте финальную версию, указывайте данные демо-аккаунта, если в приложении есть вход, и держите свой серверный сервис включённым. Если юридические обязательства или требования безопасности не позволяют вам предоставить настоящий аккаунт, можно встроить демо-режим, показывающий все функции приложения, с предварительного одобрения Apple.

На практике: подготовьте постоянный аккаунт, срок действия которого не истекает и который не удаляется при очистке данных, и убедитесь, что тестовые (staging) серверы работают в течение всего окна проверки, а не только в ваши рабочие часы.

2 — Магазин считает ваше приложение переупакованным сайтом

Правило о минимальной функциональности (Minimum Functionality, 4.2) гласит, что приложение должно включать функции, контент и интерфейс, которые ставят его выше переупакованного сайта, а приложения, которые в основном являются маркетинговыми материалами, веб-вырезками, агрегаторами контента или набором ссылок, не допускаются. Многие компании заказывают приложение, потому что оно есть у конкурента, и продукт выходит как копия сайта внутри оболочки.

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

3 — Политика конфиденциальности неполная или отсутствует внутри приложения

Правило Apple о сборе данных (Data Collection, 5.1.1) требует ссылку на политику конфиденциальности в метаданных App Store Connect и внутри приложения в легкодоступном месте. Политика должна указывать, какие данные собираются, как и для чего каждый раз используются; подтверждать, что любая третья сторона, с которой вы делитесь данными, — инструменты аналитики, рекламные сети, сторонние SDK, — обеспечивает такую же защиту; а также объяснять правила хранения и удаления и то, как пользователь отзывает согласие.

Это не страница, которую копируют с другого сайта. Это описание того, что на самом деле делает ваша система, и оно должно соответствовать вашим обязательствам по саудовскому Закону о защите персональных данных (PDPL), как мы объясняем в нашем практическом руководстве по PDPL.

4 — В приложении нет удаления аккаунта

Правило 5.1.1 (v) недвусмысленно: если ваше приложение позволяет создать аккаунт, вы также обязаны предложить удаление аккаунта внутри приложения. Оно добавляет требование, которое многие команды упускают: если в вашем приложении нет существенных функций, основанных на аккаунте, позвольте людям пользоваться им без входа и не запрашивайте личную информацию, если она не имеет прямого отношения к основной функциональности или не требуется по закону.

Удаление аккаунта здесь — это не просто кнопка в интерфейсе, а полный процесс на серверной стороне. Что происходит с заказами клиента, счетами и бухгалтерскими записями, которые по закону удалять нельзя? Обычный ответ — отделить идентификационные данные от финансовых записей до начала разработки, а не после.

5 — Декларация безопасности данных в Google Play не совпадает с тем, что делает приложение

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

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

6 — Обновление отклоняют, потому что приложение ориентировано на старую версию Android

С 31 августа 2026 года Google Play требует, чтобы новые приложения и обновления приложений были ориентированы на Android 16 (уровень API 36) или выше, с исключениями: Wear OS и Android Automotive — уровень 35, Android TV и Android XR — уровень 34. У разработчиков, запросивших продление, есть время до 1 ноября 2026 года.

Операционное последствие для владельца бизнеса: опубликованное приложение остаётся в магазине, но вы вообще не можете выпустить ни одного обновления — даже срочного исправления безопасности или изменения цены — пока его не пересоберут под требуемый уровень. Любое приложение, которое не обновлялось год, стоит проверить по этому пункту до того, как вам понадобится срочный релиз.

7 — Новым аккаунтам нужны 12 тестировщиков и 14 дней перед публикацией

Личные аккаунты разработчиков в Google Play, созданные после 13 ноября 2023 года, не могут сразу публиковать приложения для всех. Им нужно закрытое тестирование, в котором не менее 12 тестировщиков непрерывно участвуют не менее 14 дней, прежде чем подавать заявку на доступ к продакшену. Это две лишние недели в графике и 12 реальных людей с реальными аккаунтами Google.

С другой стороны, регистрация в Apple Developer Program в качестве организации требует номера D-U-N-S и юридического лица, способного заключать договоры, под официальным наименованием организации — не под торговым названием и не как филиал. Получение номера и прохождение проверки занимают дни. Начните это в первую неделю проекта, а не в неделю запуска.

8 — Метаданные магазина, скриншоты и отдельное приложение для каждого филиала

Три мелких правила топят целые релизы: скриншоты должны показывать приложение в работе, а не титульную графику, страницу входа или заставку (2.3.3); название приложения ограничено 30 символами, а метаданные нельзя набивать товарными знаками, названиями популярных приложений или ценами (2.3.7); и нельзя создавать несколько bundle ID одного и того же приложения (4.3a) — именно это происходит, когда компания просит отдельное приложение для каждого филиала или города. Правильная схема — одно приложение, в котором пользователь выбирает филиал.

Как этот барьер вписывается в план проекта

  • Регистрируйте аккаунт разработчика на свою компанию, а не на разработчика или агентство. Это актив компании, как и домен, о чём мы писали в материале кому принадлежат права на ваше ПО.
  • Откройте аккаунты в первую неделю: Apple берёт 99 $ в год, Google Play — разовые 25 $, и время уходит на проверку, а не на оплату.
  • Внесите в договор пункт о том, кто отправляет сборку и отвечает на замечания проверки и сколько циклов проверки покрывает цена.
  • Относитесь к пакету документов для публикации как к отдельному результату работ: политика конфиденциальности, декларация данных, скриншоты, описание, демо-аккаунт и список сторонних пакетов.
Код готов за неделю до запуска. Пакету документов для публикации нужны две недели. Ошибка в этом порядке стоит за большинством сорванных сроков запуска.

Источники