Skip to content
E
Egmatic
oshibki-publikatsii-igry-na-androidgoogle-playandroid-app-bundleizdanie-igrmobilnye-igryindi-igry

Ошибки при публикации игры на Android: 5 рабочих решений

Когда игра не публикуется в Google Play, причина почти всегда одна из пяти: вы забыли поднять код версии, загрузили APK вместо обязательного бандла AAB, возникла нестыковка ключа подписи, нарушена политика Google или не пройдено обязательное закрытое тестирование, которое теперь блокирует совсем новые аккаунты разработчиков. Ничего загадочного в этих ошибках нет — у каждой есть конкретное решение. В статье разобраны все пять, а также новое требование: для личных аккаунтов нужно прогнать закрытое тестирование минимум с 12 тестерами в течение 14 дней, прежде чем игра сможет попасть в продакшен.

Владислав Ковнеров30 июня 2026 г.13 мин

Публикация игры в Google Play должна стать моментом, когда ваша работа доходит до игроков. На практике это часто момент, когда вы сталкиваетесь с ошибкой, блокирующей загрузку целиком. Хорошая новость в том, что почти любая ошибка публикации Android-игры укладывается в одну из пяти предсказуемых категорий, и у каждой есть конкретное решение. Ниже разобраны пять ситуаций, которые чаще всего подводят разработчиков игр, — код версии, формат бандла, ключи подписи, нарушения политики и закрытое тестирование, — и что с каждой из них делать до того, как вы нажмёте «Опубликовать».

Как устроена публикация — кратко

Чтобы выпустить Android-игру, нужен аккаунт разработчика Google Play (разовый взнос 25 долларов), игра, упакованная в бандл Android App Bundle (.aab), подписанная сборка и страница в магазине — название, описание, скриншоты, возрастной рейтинг и декларация о данных. После загрузки Google проверяет приложение; большинство отправленных приложений проходят модерацию за один-три дня, но первый релиз или приложение, попавшее под пристальную проверку, могут задержаться.

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

Теперь, когда с общим ходом процесса ясно, — пять решений.

1. Решите проблему с кодом версии

Самая частая ошибка при публикации обновления — код версии не выше предыдущего релиза. Google Play требует, чтобы каждый новый релиз на конкретном треке имел код версии выше предыдущего, и загрузку в таком случае просто отклоняют.

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

Схожая ловушка: отображаемое versionName (то «1.0.3», которое видят игроки) и внутренний versionCode (целое число) — два разных поля. Google проверяет именно целое число. Поменять только отображаемую версию недостаточно, если код остался прежним.

2. Используйте Android App Bundle, а не APK

С августа 2021 года Google Play требует публиковать все новые приложения в формате Android App Bundle (.aab). Если попытаться загрузить обычный APK для нового приложения, загрузку отклонят. Play Console берёт ваш бандл и сама создаёт оптимизированные APK под конкретное устройство каждого игрока — это уменьшает размер загрузки и избавляет от необходимости собирать и подписывать несколько APK вручную.

Если ваш процесс сборки выдаёт APK, переключите его на бандл. Из командной строки это обычно задача bundle (например, gradlew bundleRelease); в Android Studio — Build → Generate Signed Bundle / APK → Android App Bundle. Уже существовавшие на момент введения правила приложения могли продолжать обновляться через APK, но сейчас AAB — рекомендованный формат для всех, а у новых приложений выбора нет.

Сам по себе бандл не устанавливается на устройство — это формат для публикации, содержащий скомпилированный код, ресурсы и ассеты. Так и задумано: Play Console превращает его в готовые к установке сборки.

3. Исправьте ошибки подписи и keystore

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

Самое надёжное решение — Play App Signing. При подключении Google хранит ваш ключ подписи приложения, а вы получаете upload-ключ, которым подписываете бандлы для отправки. Это даёт два практических преимущества. Во-первых, Google со временем может переоптимизировать приложение под новые устройства без повторной подписи с вашей стороны. Во-вторых — и именно это спасает разработчиков, — если вы потеряете upload-keystore, можно запросить сброс upload-ключа через поддержку Play Console и продолжать обновлять то же приложение. Без Play App Signing потеря ключа — тупик: приложение обновлять нельзя, и приходится выпускать совершенно новое с другим именем пакета, теряя накопленную аудиторию и отзывы.

Включайте Play App Signing при первом создании приложения, храните резервную копию keystore и его паролей в надёжном месте и используйте один и тот же upload-ключ для каждого релиза конкретного приложения. Если вы переключаетесь между отладочным и релизным сертификатами для тестирования сервисов Google (например, входа), зарегистрируйте оба отпечатка сертификата под одним именем пакета, чтобы сервисы работали в обеих конфигурациях.

4. Устраните нарушения политики

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

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

Требование к уровню target API. Google требует, чтобы приложения были собраны под актуальный уровень Android API, и требуемый уровень примерно раз в год сдвигается вперёд. Сборку, собранную под уровень, слишком далеко отстающий от текущей версии Android, отклонят. Перед сборкой сверьтесь с актуальным требованием в Play Console и установите target и compile SDK соответственно.

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

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

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

5. Пройдите этап закрытого тестирования (новые личные аккаунты)

Именно этот пункт блокирует загрузку ещё до того, как станет ошибкой. Для любого приложения, публикуемого с нового личного аккаунта разработчика, Google требует провести закрытое тестирование минимум с 12 тестерами, подключёнными в течение как минимум 14 дней подряд, прежде чем можно будет запросить доступ к продакшену. (Порог составлял 20 тестеров до конца 2024 года, затем был снижен до 12.) На аккаунты организаций это требование не распространяется, поэтому два разработчика могут столкваться с совершенно разными сроками первого релиза.

Если вы нажимаете «Опубликовать» в первый же день нового личного аккаунта и ничего не происходит — обычно причина именно в этом. Решение — провести закрытое тестирование по правилам: собрать 12 тестеров, попросить их подключиться и установить сборку, держать тест непрерывно 14 дней и лишь затем запросить доступ к продакшену. Заложите это в план запуска с самого начала, а не узнавайте о требовании на неделе, когда собирались выпустить игру.

Если вы используете Play Games Services

Отдельный, более узкий класс сбоев касается игр, интегрированных с Google Play Games Services — вход, таблицы лидеров, достижения. Чаще всего повторяются две проблемы: аутентификация и шаг публикации настроек игры. Аккаунт, создавший игру в Play Console, автоматически тестером не становится, поэтому добавьте его в список тестеров явно, иначе вход не сработает, хотя всё остальное выглядит правильно. Кроме того, опубликовать приложение можно, не опубликовав настройки игровых сервисов; если игра уже доступна, а настройки остаются в черновике, функции вроде аутентификации не работают у реальных игроков. Изменения в Play Games Services могут доходить до пользователей пару часов, поэтому публикуйте настройки задолго до запуска, а не в тот же момент.

Чеклист перед загрузкой

Пройдитесь по нему перед отправкой:

  • Поднимайте код версии для каждой загрузки и держите его согласованным между треками.
  • Собирайте бандл Android App Bundle (.aab), а не APK, для любого нового приложения.
  • Подключите Play App Signing, храните резервную копию keystore и используйте один upload-ключ на приложение.
  • Тестируйте именно ту сборку, которую отправляете, на реальном устройстве; при необходимости укажите демо-данные для входа.
  • Собирайте под актуальный уровень Android API; сверьтесь с Play Console по текущему требованию.
  • Приведите декларацию о данных в соответствие с реальностью, включая каждый рекламный и аналитический SDK.
  • Пройдите этап закрытого тестирования (12 тестеров, 14 дней), если ваш личный аккаунт новый.
  • Опубликуйте настройки Play Games Services и добавьте аккаунт создателя в тестеры до запуска.
  • Включите управляемую публикацию, если хотите сами проверять релиз перед тем, как он станет доступен.

Большая часть пунктов занимает минуты. Сделать это заранее несравнимо дешевле, чем проходить лишний круг модерации.

Роль Egmatic

Значительная доля неудач при публикации на Android сводится к нестыковкам в конфигурации и багам на конкретных устройствах — сборка, прекрасно работающая у разработчика, падает на устройстве проверяющего; подпись, настроенная один раз и забытая; функция, сломавшаяся в последнюю неделю разработки. Egmatic — это редактор и движок 2D-игр на платформе MonoGame, и он экспортирует сборку под Android из того же проекта, который вы разрабатываете на десктопе. Поскольку игру можно постоянно проверять в десктопной сборке на протяжении всей разработки, а затем собрать пакет под Android и проверить на устройстве, вылеты и ошибки конфигурации, из-за которых чаще всего не получается опубликовать сборку, находятся ещё в процессе — а не после того, как Google отклонил бандл. Подробнее о том, как тот же проект выходит на десктоп, мобильные устройства и консоли, — в нашем руководстве по экспорту игр на несколько платформ.

Заключение

Ошибки при публикации Android-игр раздражают, но редко бывают загадочными. Они скапливаются вокруг кодов версии, формата бандла, ключей подписи, нарушений политики и — для новых личных аккаунтов — этапа закрытого тестирования. Поднимайте код версии при каждой загрузке, публикуйте AAB, включайте Play App Signing и храните резервную копию ключа, тестируйте реальную сборку и держите декларацию о данных честной, а если аккаунт новый — прогоните закрытое тестирование с 12 тестерами в течение 14 дней до того, как рассчитывать на продакшен. Закройте эти пять пунктов, и большинства неудач с публикацией не случится вовсе.


Источники

  1. С августа 2021 года Google Play требует публиковать все новые приложения в формате Android App Bundle, а не APK — The future of Android App Bundles – Android Developers Blog
  2. Аккаунт разработчика Google Play регистрируется за разовый взнос 25 долларов — Get started with Play Console – Google Help
  3. Для новых личных аккаунтов разработчика обязательно закрытое тестирование минимум с 12 подключёнными тестерами в течение как минимум 14 дней подряд перед запросом доступа к продакшену — App testing requirements for new personal developer accounts – Google Help
  4. Google Play берёт сервисный сбор 15% с первого миллиона долларов выручки в год и 30% сверх него — Google Play service fees
  5. Play App Signing позволяет Google хранить ключ подписи приложения и сбросить upload-ключ при утере upload-keystore — Use Play App Signing – Google Help
  6. Google Play требует, чтобы приложения соответствовали требованию к уровню target API, которое обновляется каждый год — Target API level requirements – Google Play Help
  7. Большинство приложений проходит модерацию за несколько дней, а тестовые треки позволяют раздавать предрелизные сборки до продакшена — Learn about app review and closed testing – Google Play Console

Похожие статьи

monetizatsiya-igrplatforma-monetizatsiivnutriigrovye-pokupki

10 лучших платформ для монетизации игр в 2026 году

Выбор платформы монетизации зависит от того, что именно вы продаёте: рекламу — для коротких мобильных сессий, внутриигровые покупки — для игр с развитием, подписки — для live-сервисов, а прямой веб-магазин — если вы хотите оставлять себе больше, чем 70% от App Store. В этом обзоре — десять платформ, которыми разработчики реально пользуются в 2026 году: AdMob, AppLovin MAX, Unity LevelPlay, Xsolla, RevenueCat, Chartboost, Adapty, Playwire, AccelByte и Egmatic. Для каждой — кому она подходит и как зарабатывает.

29 июня 2026 г.16 мин
logika-igr-na-uzlahvizualnoe-programmirovanierazrabotka-igr

Логика игр на узлах: будущее разработки игр

Логика игр на узлах — это способ собирать игровую механику из визуальных блоков, соединённых связями, а не из строк кода; сегодня это основной способ, которым геймдизайнеры делают прототипы во всех крупных движках. Unreal Blueprints, Unity Visual Scripting и таблицы событий в Construct работают именно так. В материале разобрано, как устроены графы на узлах, где находится каждый движок, в чём их ограничения и когда визуальный редактор выигрывает у программирования.

22 июня 2026 г.9 мин
monogame-solo-razrabotchiksolo-razrabotka-igrmonogame

MonoGame для соло-разработчика: как создать игру без команды

MonoGame — одна из самых сильных основ, которую может выбрать соло-разработчик: бесплатная, без роялти, выходит на десктоп, мобильные и консоли и даёт полный исходный код на C#. Доказательство — Stardew Valley: один разработчик и более 50 миллионов копий. Подвох в том, что MonoGame — это фреймворк, а не движок, поэтому редактор, физику и инструментарий соло-разработчик собирает сам. В руководстве разобрано, когда MonoGame — верный выбор для соло-разработчика, во что действительно обходится набор инструментов и как довести игру до релиза в одиночку.

24 июня 2026 г.15 мин