Обновлено: 27 сентября 2026 года. Если вы хотите понять, как опубликовать игру в RuStore, ниже — практический путь на примере моей Unity-игры Train Survival: Night Run: от сборки AAB и настройки подписи до карточки приложения, скриншотов и отправки на модерацию.
Эта статья основана на моём реальном опыте и дополнена актуальной документацией RuStore и Unity. Я отдельно отмечу момент, на котором сам споткнулся: у меня была сборка в формате AAB, а для проверки на телефоне я попробовал получить APK через сторонний онлайн-конвертер. Получившийся APK не установился. Ниже разберём, почему AAB вообще не стоит воспринимать как обычный архив, который можно бездумно «переконвертировать» в APK.

Коротко: что понадобится для публикации игры
Если отбросить детали, путь выглядит так: подготовить Android-версию проекта, настроить package name и версию, создать и сохранить ключ подписи, собрать APK или AAB, проверить сборку на реальном устройстве, создать приложение в RuStore Консоли, заполнить карточку, загрузить изображения и отправить версию на модерацию.
- Unity с установленным Android Build Support;
- готовая Android-сборка игры;
- уникальный идентификатор приложения, например
ru.hakster.gtrain; - keystore и ключ подписи, которые нужно хранить постоянно;
- иконка, описание и скриншоты;
- аккаунт разработчика в RuStore Консоли.
APK или AAB — что загружать в RuStore
RuStore принимает приложения в форматах APK и AAB. Это два разных сценария публикации.
APK — готовый устанавливаемый пакет Android. Его можно установить на устройство напрямую, если система разрешает установку из этого источника. Для публикации APK должен быть подписан вашим релизным ключом.
AAB (Android App Bundle) — формат публикации. Сам по себе AAB не предназначен для прямой установки на телефон. Магазин получает bundle и формирует из него APK, подходящие конкретному устройству. Именно поэтому попытка обращаться с AAB как с обычным APK часто приводит к путанице.
На момент написания статьи RuStore официально поддерживает оба формата. Для AAB у RuStore есть отдельная схема работы с ключом загрузки и подписью приложения. Подробности есть в документации по подписям и в инструкции по загрузке AAB.
Подготовка Unity-проекта перед сборкой
В Unity 6 процесс лучше пройти в таком порядке. Это соответствует текущей документации Unity по Android Build Profiles.
- Откройте File → Build Profiles. Если профиля Android ещё нет, нажмите Add Build Profile, выберите Android и переключитесь на него через Switch Profile.
- В Player Settings проверьте Application Identifier — например, у моей игры это
ru.hakster.gtrain. Этот идентификатор должен совпадать с приложением в RuStore и не должен случайно меняться между обновлениями. - Проверьте Version и Bundle Version Code. Для каждой новой версии в магазине Version Code должен увеличиваться.
- Если нужен AAB, в профиле Android отключите Export Project и включите Build App Bundle (Google Play). Несмотря на название параметра, Unity просто создаёт файл
.aab; его можно загружать и в RuStore. - Для релиза выключите Development Build, выберите свой keystore в Android Publishing Settings и соберите проект через Build. Для отдельной тестовой APK-сборки отключите Build App Bundle и соберите APK напрямую из Unity.
Официальная инструкция Unity: Building an application for Android. Если пункта Android в Build Profiles нет, установите Android Build Support через Unity Hub.
Самое важное: keystore и подпись приложения
Ключ подписи — одна из тех вещей, которые легко недооценить при первом релизе. Android использует сертификат подписи, чтобы понимать, что новая версия приложения действительно выпущена тем же разработчиком.
Сделайте резервную копию keystore и сохраните пароль в надёжном месте. Не держите единственную копию ключа внутри папки Unity-проекта и не добавляйте его в публичный Git-репозиторий.
Если вы выпускаете обновление APK с другим сертификатом, Android не воспримет его как нормальное обновление установленного приложения. RuStore также отдельно предупреждает разработчиков о необходимости сохранять корректную подпись между версиями.
Как опубликовать игру в RuStore с AAB: настройка подписи
Для AAB в RuStore используются два разных ключа. Сборку AAB вы подписываете ключом загрузки. RuStore проверяет его сертификат, формирует APK для устройств и уже эти APK подписывает ключом подписи приложения. Поэтому перед первой загрузкой AAB в консоль нужно один раз настроить подпись приложения.

Экран из официальной инструкции RuStore: если подпись ещё не добавлена, в карточке новой версии появится предупреждение «Подпись не загружена» и кнопка загрузки.
Если AAB публикуется впервые
В RuStore Консоли откройте приложение → Загрузить версию → напротив предупреждения о подписи нажмите Загрузить. В открывшемся окне консоль попросит два файла: ZIP с подписью приложения и PEM-сертификат ключа загрузки. Для подготовки файлов нужна Java 11 или новее; RuStore требует RSA-ключ не менее 2048 бит.

Шаг 1. Создайте ключ подписи приложения. RuStore разрешает сделать это через Android Studio или через keytool. Пример из официальной инструкции:
keytool -keystore ваше_хранилище_ключей.keystore -genkey -alias имя_ключа -keyalg RSA -validity 36500
Шаг 2. Подготовьте ZIP с подписью через PEPK. В окне загрузки подписи скачайте pepk.jar и скопируйте команду, которую RuStore генерирует именно для вашего приложения. В ней уже находится уникальный encryptionkey — его менять нельзя. Нужно заменить только путь к keystore, alias ключа и путь, куда сохранить ZIP. Затем запустите команду в терминале и введите пароль keystore и пароль ключа.

Шаг 3. Создайте отдельный ключ загрузки. Именно им затем должна быть подписана ваша AAB-сборка:
keytool -keystore ваше_хранилище_ключей.keystore -genkey -alias upload -keyalg RSA -validity 36500
Шаг 4. Экспортируйте его публичный сертификат в PEM:
keytool -exportcert -alias upload -keystore ваше_хранилище_ключей.keystore -rfc -file uploadcert.pem
Шаг 5. Загрузите в RuStore два файла: ZIP, созданный PEPK, и uploadcert.pem. Нажмите Отправить подпись. После этого сборку AAB нужно подписывать созданным ключом загрузки, а не ключом подписи приложения.
Если подпись уже существует
Если вы уже выпускали AAB и у вас есть существующий ключ подписи приложения и ключ загрузки, новый комплект создавать не надо. Скачайте PEPK из RuStore, экспортируйте существующую подпись приложения в ZIP, а из ключа загрузки получите PEM-сертификат командой keytool -exportcert. Важный случай миграции: если раньше приложение распространялось как APK, RuStore требует, чтобы в ZIP была именно та подпись, которой подписывался прежний APK — иначе обновление существующей установки не будет считаться продолжением того же приложения.
Полная официальная инструкция находится в разделе «Загрузка подписи приложения». Я бы держал её открытой во время настройки: команда PEPK содержит индивидуальный ключ шифрования и её безопаснее копировать прямо из вашей RuStore Консоли.
Почему мой AAB → APK через онлайн-конвертер не сработал
На этапе подготовки у меня уже была Android-сборка в формате AAB. Мне понадобился APK, чтобы установить игру отдельно, и я попробовал воспользоваться онлайн-конвертером AAB → APK. В результате Android отказался устанавливать полученный файл.
Я не буду утверждать, что причиной конкретно в моём случае была только подпись: без повторного разбора того APK это было бы предположением. Но сам подход через неизвестный онлайн-конвертер оказался неправильным и ненужным.
AAB не устанавливается напрямую на устройство. Если нужен APK для тестирования, есть два нормальных пути:
- собрать APK непосредственно в Unity, отключив Build App Bundle;
- использовать официальный bundletool, который умеет сформировать APK-набор из AAB и установить подходящие APK на подключённое устройство.
RuStore в собственной документации тоже рекомендует bundletool для проверки APK, которые будут сформированы из AAB. Документация Android прямо указывает, что App Bundle является форматом публикации и не разворачивается на устройство напрямую.
Проверка игры до отправки в RuStore
Модерация не заменяет обычное тестирование. До загрузки версии я советую проверить хотя бы запуск после чистой установки, первый старт без сохранений, управление, паузу и возврат из фона, звук, сохранения, разрешения, поведение без сети и основные игровые экраны.

Для игр особенно важно пройти хотя бы один полный игровой цикл так, как его увидит новый пользователь. У меня отдельная статья посвящена этой теме: как тестировать игры перед релизом.
Создание приложения в RuStore Консоли
В RuStore Консоли откройте Приложения → Добавить приложение, введите название и откройте созданную карточку. Затем нажмите Загрузить версию. По текущей справке RuStore создать новое приложение может пользователь с ролью владельца компании; загружать версии также могут администратор, релиз-менеджер и разработчик.
- Загрузите APK или AAB. Не закрывайте страницу на этапе самой загрузки файла. После этого начинается обработка — её уже можно оставить работать в фоне.
- Заполните карточку. Название — до 30 символов, краткое описание — до 80, полное описание — до 4000. Выберите тип «Игра», основную категорию, при необходимости дополнительную, возрастное ограничение и до 5 поисковых тегов.
- Укажите контакты разработчика. Для новой версии RuStore просит хотя бы один способ связи: email, сайт, группу ВК или МАКС.
- Добавьте иконку и скриншоты по требованиям ниже.
- Когда файл успешно обработан и форма заполнена, нажмите Отправить на модерацию. Если хотите вернуться позже — Сохранить как черновик. Учтите: обработанные установочные файлы хранятся 14 дней, если версия так и не отправлена на модерацию.
Официальный порядок: «Как опубликовать приложение».
Иконка и скриншоты: требования RuStore в 2026 году
Для карточки понадобится иконка 512×512 px в PNG или JPG до 3 МБ; RuStore требует, чтобы фон заполнял всю площадь иконки без прозрачных краёв. Мобильные скриншоты обязательны: для каждого типа устройства, для которого вы их загружаете, нужно не менее 3 скриншотов, а одновременно можно добавить до 10. Для телефона файл — до 3 МБ, для планшета — до 5 МБ, формат PNG/JPG, максимальное мобильное разрешение — 2160×3840. Рекомендуемое соотношение сторон — 16:9; изображения других пропорций могут растягиваться или обрезаться.
Скриншоты — это не формальность. Пользователь видит их до установки, поэтому я бы показывал не пять похожих кадров, а разные стороны игры: основной геймплей, опасный момент, развитие и интерфейс.


Загрузка AAB в RuStore
Перед загрузкой AAB проверьте четыре вещи: подпись приложения уже добавлена в RuStore, файл не больше 5 ГБ, имя файла уникально, сборка протестирована. Затем на странице новой версии нажмите Выберите файл, укажите .aab и дождитесь окончания загрузки и обработки.
Если хотите заранее проверить, какие APK получатся из bundle, RuStore рекомендует официальный bundletool. Для универсального APK команда выглядит так: java -jar bundletool-all-1.18.1.jar build-apks --bundle=<путь_к_AAB> --output-format=DIRECTORY --output=<папка> --mode=universal. Это полезно и для локальной проверки вместо сторонних онлайн-конвертеров.
Если это обновление уже опубликованной игры, дополнительно проверьте package name, увеличенный Version Code и то, что AAB подписан тем ключом загрузки, сертификат которого вы добавили в RuStore.
Модерация
Каждое приложение перед публикацией в RuStore проходит обязательную модерацию. Я сознательно не указываю в этой статье «гарантированный срок проверки»: он может зависеть от загрузки площадки, типа приложения и того, потребуются ли исправления. Лучше ориентироваться на статус версии в консоли.
Перед отправкой имеет смысл ещё раз пройти официальные требования RuStore к приложениям. Даже технически рабочая сборка может получить замечание, если карточка, контент или поведение приложения не соответствуют правилам магазина.
Ошибки, которых я бы избегал при следующем релизе
- Не использовать случайные онлайн-конвертеры AAB → APK. Для тестового APK проще пересобрать проект в Unity или использовать bundletool.
- Не терять keystore и пароли. Ключ нужен не только сегодня, но и для будущих обновлений.
- Не менять package name после того, как начал готовить релиз.
- Не отправлять игру, не установив релизную сборку на реальный телефон.
- Не относиться к скриншотам как к заполнителю формы. Карточка магазина — часть продвижения игры.
- Не делать первый релиз последним действием. После публикации начинается работа со страницей игры, отзывами, видео и внешними источниками трафика.
Что делать после публикации
Сам факт появления игры в магазине не гарантирует установки. После выхода Train Survival: Night Run я отдельно сделал страницу игры на HAKSTER, статью о релизе, короткое видео для YouTube Shorts и публикации на других площадках. Дальше уже можно смотреть, какие источники реально приводят пользователей, и улучшать карточку приложения.
Для собственной игры я также сделал отдельную страницу: Train Survival: Night Run, где собраны описание и скриншоты. Более подробный рассказ о самой игре есть в статье «Train Survival: Night Run — Крепость на рельсах».
Скачать Train Survival: Night Run
Результат этого пути уже можно посмотреть в самом RuStore. Игра доступна для Android:

Полезные официальные ссылки
- Публикация приложений в RuStore;
- Загрузка AAB в RuStore;
- Подписи APK и AAB;
- официальный bundletool Android;
- настройки Android Build в Unity.
Итог
Если коротко, как опубликовать игру в RuStore: подготовить релизную Android-сборку, правильно настроить подпись, загрузить AAB или APK, заполнить карточку и пройти модерацию. Для небольшого Unity-проекта это вполне реально одному разработчику. Самые важные моменты — сохранить keystore, понимать разницу между APK и AAB и обязательно протестировать именно релизную сборку.
Если бы я повторял этот процесс сейчас, я бы с самого начала разделил два сценария: APK для быстрой локальной проверки и AAB для публикации, если для проекта выбран именно bundle-формат. Это избавляет от лишних конвертаций и уменьшает вероятность проблем с подписью.
