После запуска 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-приложения к новому каталогу укладывается в мобильную разработку под требования российского рынка и госсектора.