Аудит в подарокАудит сайта в подарокдо 31 декабряПодробнее
Тема
Приложения
Дата
Спрос на вопрос
300 показов в месяц

Как выложить приложение в App Store и Google Play

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

Как выложить приложение в App Store и Google Play: от готовой сборки до публикации проходит 1-3 недели. Google Play обычно пропускает за 1-3 дня, ревью App Store занимает от суток до недели, и первый релиз почти всегда получает отказ - это нормальный рабочий этап, а не катастрофа. Аккаунты стоят денег: Apple Developer Program - 99 $ в год, Google Play Developer - 25 $ разово.

Дальше - весь путь по шагам, реальные сроки, за что отклоняют чаще всего и что можно обновлять потом мимо ревью.

Разработка мобильных приложенийот 350 000 до 1 200 000 ₽сроки: 8-16 недель до релиза в сторах

Аккаунты и верификация

Это единственный этап, который нельзя ускорить деньгами, и его почему-то всегда начинают последним.

Apple. Индивидуальный аккаунт открывается быстро: заплатили 99 $, прошли проверку личности, через день-два всё работает. Аккаунт организации требует D-U-N-S - международный идентификатор юрлица от Dun & Bradstreet. Если его у компании нет, запрос обрабатывается отдельно и занимает от нескольких дней до пары недель. Данные в заявке должны совпадать с юридическими до буквы: расхождение в форме собственности или адресе разворачивает процесс на второй круг.

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

Google. 25 $ разово, но с 2023 года верификация ужесточилась: новые личные аккаунты проходят проверку личности, а организации подтверждают юридические данные. Плюс для новых личных аккаунтов действует требование закрытого тестирования, о котором ниже.

Сроки по обоим магазинам вместе: закладывайте 1-2 недели, и начинайте оформление в первый день проекта, а не за неделю до релиза.

Сертификаты и подпись

На iOS приложение подписывается сертификатом разработчика и профилем обеспечения, привязанным к идентификатору приложения и к списку возможностей: пуши, App Group, Sign in with Apple, платежи. Каждая новая возможность требует перевыпуска профиля.

Есть два пути. Автоматическая подпись в Xcode работает, пока разработчик один и машина одна. Как только появляется CI или вторая машина, начинается «works on my machine»: локально собирается, на сервере падает с невнятной ошибкой про отсутствующий приватный ключ.

Рабочее решение - match из состава Fastlane. Сертификаты и профили лежат в отдельном приватном репозитории в зашифрованном виде, любая машина и любой раннер получают их одной командой. У меня на проектах это связка GitHub Actions плюс Fastlane, три окружения, секреты в SOPS и уведомление в Telegram по результату сборки. Настройка занимает 2-3 дня один раз и после этого не требует внимания.

На Android проще, но опаснее: приложение подписывается вашим ключом, и потерять его - значит навсегда потерять возможность обновлять приложение. Play App Signing снимает риск, отдавая управление ключом Google, и включать его стоит сразу при первой публикации.

Сборка и загрузка

iOS-сборка загружается в App Store Connect архивом через Xcode или Transporter. Android - в виде AAB через консоль Play или API. Занимает 1-2 дня с учётом того, что первая загрузка обязательно обнаружит что-нибудь: не тот номер версии, отсутствующая иконка нужного размера, устаревший целевой SDK, забытая строка в Info.plist про доступ к камере.

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

Карточка приложения

То, что заполняет заказчик, и то, из-за чего чаще всего сдвигается релиз.

  • Скриншоты под все требуемые размеры экранов. Для iPhone минимум под 6,7 и 6,5 дюйма, для iPad отдельно, если поддерживаете. Скриншоты обязаны показывать реальные экраны приложения: коллаж из рекламных обещаний ревью не пропустит.
  • Название и подзаголовок. В названии до 30 символов, и в нём нельзя писать «лучший», «бесплатный», а также названия чужих брендов.
  • Описание и ключевые слова. Поле ключевых слов у Apple - 100 символов через запятую, повторять слова из названия бессмысленно.
  • Политика конфиденциальности. Обязательна, по публичной ссылке, доступной без авторизации. Без неё приложение не отправится на ревью в принципе.
  • App Privacy. Анкета про то, какие данные вы собираете, связываете ли с личностью и используете ли для трекинга. Заполняется честно: расхождение с фактическим поведением приложения ловится и стоит дороже, чем признание сбора аналитики.
  • Возрастной рейтинг и категория.

На всё это уходит 2-3 дня, из которых два обычно тратятся на ожидание материалов от клиента.

Тестирование до релиза

TestFlight у Apple - лучшая часть экосистемы. Внутренние тестировщики (до 100 человек из вашей команды) получают сборку сразу без проверки. Внешние (до 10 000) требуют короткого ревью сборки, обычно сутки. Реальное тестирование занимает 3-7 дней, и его нельзя пропускать: половина проблем видна только на чужих устройствах.

В Google Play есть внутреннее тестирование (мгновенно, до 100 человек), закрытое и открытое. Для новых личных аккаунтов действует отдельное требование: закрытое тестирование минимум с 12 тестировщиками, которые непрерывно участвуют не менее 12 дней, и только после этого открывается доступ к публикации. Если у вас личный аккаунт, этот срок надо закладывать в план заранее - обойти его нельзя.

График работ

Путь от сборки до публикации

Сроки для первого релиза. Этапы, отмеченные как требующие клиента, зависят от скорости предоставления данных и материалов.

  1. 01 0-1,5

    Аккаунты разработчика нужен клиент

    1-2 недели

    Для юрлица нужен D-U-N-S, это отдельная история

  2. 02 1,5-4

    Сертификаты и подпись

    2-3 дня

    match, профили, ключ Android, настройка CI

  3. 03 4-5,5

    Сборка и загрузка

    1-2 дня

    Архив в App Store Connect, AAB в Play Console

  4. 04 5,5-8

    Карточка и метаданные нужен клиент

    2-3 дня

    Скриншоты, описание, политика конфиденциальности, App Privacy

  5. 05 8-13

    Тестирование TestFlight

    3-7 дней

    Внутренние и внешние тестировщики, сбор багов

  6. 06 13-17

    Ревью App Store

    1-7 дней

    Первый релиз чаще всего получает отказ

  7. 07 17-19

    Проверка Google Play

    1-3 дня

    Первая публикация дольше последующих

  8. 08 19-21

    Раскатка

    1-3 дня

    Поэтапный выпуск на процент аудитории

Итого около 21 нед., участие клиента на 2 из 8 этапов

Как выложить приложение в App Store без отказа

Отказ приходит текстом в Resolution Center с номером гайдлайна. Вот те, которые я видел чаще всего.

Guideline 4.2, Minimum Functionality. Главная угроза для гибридного приложения. Формулировка звучит примерно так: «ваше приложение представляет собой веб-сайт в оболочке и не предоставляет нативной функциональности». Лечится не спором, а фактами: приложение должно работать без сети хотя бы частично, иметь свою навигацию вместо браузерной, использовать системные возможности (пуши, камеру, биометрию, шаринг) и не подгружать интерфейс с внешнего домена. Правильно собранное приложение на Capacitor держит ассеты внутри бандла и по 4.2 не отклоняется. Обёртка вокруг вашего сайта - отклоняется почти гарантированно.

Guideline 5.1.1, Data Collection and Storage. Два типовых случая. Первый: вы требуете регистрацию там, где она не нужна для функциональности, - если контент можно смотреть без аккаунта, дайте смотреть без аккаунта. Второй: в приложении есть регистрация, но нет удаления аккаунта прямо из интерфейса. Требование действует с 2022 года и проверяется всегда. Ссылка на «напишите нам в поддержку» не засчитывается.

Guideline 2.1, App Completeness. Чаще всего это незаполненный демо-доступ. Если в приложении есть вход, в поле App Review Information нужны рабочие логин и пароль, а при двухфакторной авторизации - способ её пройти. Ревьюер не будет регистрироваться сам. Сюда же попадают падения при первом запуске и заглушки вместо экранов.

Guideline 3.1.1, In-App Purchase. Продажа цифрового контента и подписок внутри приложения обязана идти через In-App Purchase с комиссией 30% (15% при обороте до 1 млн $ в год). Ссылку на оплату на своём сайте нельзя не только показывать, но и упоминать. Физические товары, услуги в офлайне и билеты на реальные события это правило не затрагивают - там разрешён обычный эквайринг.

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

Google отклоняет реже и по другим причинам: несоответствие политике по разрешениям (особенно фоновая геолокация и доступ ко всем файлам), отсутствие раздела Data Safety, неточное описание.

После релиза

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

Что меняемНужно ревью
Веб-слой гибридного приложения: экраны, логика, тексты, стилинет, едет по воздуху через OTA
Серверная логика и данныенет
Нативные плагины и их кодда
Разрешения, версия SDK, иконка, названиеда
Схема монетизации и покупкида

CodePush или собственный механизм OTA скачивает новый бандл веб-части и применяет при следующем запуске. Критичный баг чинится за час вместо недели. Обязательное условие - откат: если новый бандл падает на старте, приложение должно само вернуться на предыдущую версию, иначе вы получите нерабочее приложение у всех сразу и почините его только через магазин. Границу нарушать нельзя: правила Apple разрешают обновлять код интерфейса, но не менять назначение приложения и не обходить проверку через удалённо загружаемую функциональность.

Раскатку делайте поэтапной. В Google Play это встроенный staged rollout: 5% аудитории, смотрим Sentry сутки, дальше 20%, 50%, 100%. В App Store есть phased release на 7 дней. Полная остановка выкатки возможна в обоих магазинах, и это дешевле, чем срочный хотфикс.

Российская специфика

Оплата Apple Developer Program с российских карт не проходит, и это отдельная организационная задача, которую решают через зарубежное юрлицо или платёжного посредника. Приложения российских компаний под санкциями удаляются из App Store без предупреждения.

RuStore к 2026 году стал рабочим каналом: обязателен для госсервисов, растёт по аудитории, публикация проще и быстрее, чем в Google Play, ревью занимает считаные дни. Для Android есть и прямая раздача APK со своего сайта - технически ничто не мешает, но пользователю придётся разрешить установку из неизвестных источников, и часть людей на этом отвалится.

Разумная стратегия для Android: Google Play плюс RuStore одновременно, сборка одна и та же, отличаются только подпись и метаданные. Для iOS альтернативы App Store нет.

Публикацию, настройку CI и прохождение ревью я беру на себя вместе с разработкой приложения - отдавать клиенту сборку и оставлять его один на один с Resolution Center бессмысленно, релиз в этом месте и застревает.

Посчитаем вашу задачу

Расскажите, что нужно. Отвечу в течение рабочего дня: сроки, вилка бюджета и что можно не делать, чтобы сэкономить.

Обсудить задачу
Обсудить задачу

Перезвоню сам

Оставьте имя и номер. Позвоню в рабочее время, обычно в течение пары часов.