После запуска RuStore разработчики столкнулись с практическим вопросом: как довести Android-приложение до публикации без сюрпризов на модерации. Каталог открыт в режиме бета, документация пополняется, а сроки проверки зависят от того, насколько чисто подготовлена сборка. Ниже – технический чек-лист, который мы прогоняем перед загрузкой каждого APK.

Сборка и подпись

RuStore принимает APK (AAB пока не поддерживается), поэтому собирайте релизный артефакт напрямую. Проверьте обязательные пункты:

  • applicationId уникален и совпадает с тем, что вы регистрируете в консоли разработчика. Сменить его после публикации нельзя.
  • versionCode строго возрастает с каждой загрузкой, versionName читаем для пользователя.
  • APK подписан вашим release-ключом (v1 + v2). Храните keystore вне репозитория и в резервной копии – потеря ключа закрывает путь к обновлениям.
  • minSdkVersion и targetSdkVersion заданы явно. Целевой API – не ниже 30, иначе модерация вернёт сборку.
  • Из манифеста убраны лишние разрешения. Каждое оставшееся разрешение вы должны уметь обосновать в описании.

Отдельно отвяжите приложение от сервисов, которых в каталоге нет. Google Mobile Services и Firebase в RuStore не работают: если код жёстко завязан на com.google.android.gms, приложение упадёт на устройстве без сервисов Google. Это типичная статья технического долга, которую дешевле закрыть до релиза, чем после жалоб пользователей.

SDK: платежи и пуш-уведомления

Две подсистемы требуют замены на нативные решения RuStore.

Платежи. Биллинг Google Play заменяется RuStore Payments SDK. Подключите библиотеку, зарегистрируйте товары в консоли и протестируйте покупки на реальном устройстве – эмулятор полный сценарий не покрывает. Если приложение продаёт цифровой контент, обойти платёжный SDK каталога не получится.

Пуш-уведомления. Вместо FCM используйте RuStore Push SDK. Перенесите логику получения токена и обработки сообщений, проверьте доставку в фоне и при закрытом приложении. Заранее решите, что делать на устройствах, где сервис RuStore ещё не установлен, – деградируйте функциональность мягко, без краша.

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

Карточка и модерация

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

  • Иконка 512×512, скриншоты под телефон (минимум 2–3), при необходимости – под планшет.
  • Название, краткое и полное описание без запрещённой лексики и обещаний, которые приложение не выполняет.
  • Возрастная категория и список разрешений, согласованный с манифестом.
  • Политика конфиденциальности по доступной ссылке – обязательна, если приложение собирает персональные данные.

Модерация проверяет работоспособность, соответствие описанию и отсутствие обращений к недоступным сервисам. Самые частые отказы – краш при старте на «чистом» устройстве и невыполнение заявленных в карточке функций.

Вывод

Публикация в RuStore – не загрузка файла, а инженерная задача: отвязать зависимости от чужой экосистемы, подключить нативные SDK и собрать корректно подписанный артефакт. Чем раньше команда заложит это в архитектуру, тем короче путь до релиза. Подготовка Android-приложения к новому каталогу укладывается в мобильную разработку под требования российского рынка и госсектора.