Альтернативные магазины: Huawei AppGallery, RuStore и другие
Основы4 минРедакция Innovialabs
Коротко
Публикация вне Google Play оправдана, если заметная часть аудитории сидит на Huawei без сервисов Google или находится в России; для этого нужны отдельные сборки с заменой push, оплаты, карт и входа на аналоги каждой платформы.
Когда это имеет смысл
Для аудитории в Узбекистане Google Play обычно остаётся основным магазином. Альтернативы нужны не «для охвата», а в конкретных ситуациях:
- Смартфоны Huawei без сервисов Google. Многие модели Huawei последних лет продаются без Google Mobile Services (GMS) и без Google Play. Если аналитика показывает заметную долю таких устройств, без AppGallery вы их теряете.
- Аудитория в России. Google Play ограничил оплату для российских пользователей, а RuStore предустанавливается на многие продаваемые там смартфоны. Для монетизации на этом рынке RuStore практически обязателен.
- Дополнительное продвижение. Samsung Galaxy Store и Xiaomi GetApps предустановлены на устройствах своих брендов. Их пользователи обычно имеют и Google Play, поэтому это скорее канал продвижения, чем необходимость.
Не стоит выходить в несколько магазинов, если некому поддерживать отдельные сборки и выпускать обновления синхронно: устаревшая версия в магазине хуже, чем её отсутствие.
Что требуют магазины
Базовый набор везде похож:
- аккаунт разработчика с проверкой физического или юридического лица;
- подписанная релизная сборка (APK или AAB — уточняйте поддерживаемые форматы в консоли магазина);
- страница приложения: иконка, скриншоты, описания на нужных языках;
- политика конфиденциальности и возрастной рейтинг;
- модерация, которая нередко строже к формальным деталям, чем у Google.
Особенности основных магазинов:
| Магазин | Где нужен | Оплата | Push |
|---|---|---|---|
| Huawei AppGallery | устройства Huawei без GMS | HMS In-App Purchases | HMS Push Kit |
| RuStore | аудитория в России | SDK платежей RuStore | RuStore Push SDK |
| Galaxy Store | устройства Samsung | Samsung IAP | FCM работает, GMS есть |
| Xiaomi GetApps | устройства Xiaomi | по правилам магазина | FCM работает, GMS есть |
AppGallery проверяет приложения на устройствах без GMS: если без сервисов Google приложение падает или не даёт войти, его отклонят. Требования к резидентству разработчика и монетизации у RuStore менялись — проверяйте актуальные условия перед регистрацией.
Что ломается без сервисов Google
На устройстве без GMS перестают работать всё, что опирается на Google Play services:
| Функция | Huawei | Другие варианты | |
|---|---|---|---|
| Push-уведомления | Firebase Cloud Messaging | Push Kit | RuStore Push SDK |
| Встроенные покупки | Google Play Billing | In-App Purchases | SDK платежей RuStore |
| Карты | Google Maps SDK | Map Kit | Yandex MapKit, 2GIS, карты на OpenStreetMap |
| Геолокация | Fused Location Provider | Location Kit | системный LocationManager |
| Вход | Google Sign-In | Account Kit | VK ID, телефон, email |
| Проверка целостности | Play Integrity API | Safety Detect | проверки на сервере |
Часть SDK Firebase работает и без Play services, но полагаться на это нельзя: каждую зависимость проверяйте на реальном устройстве без GMS.
Как поддерживать несколько магазинов
- Спрячьте сервисы за интерфейсами. Код приложения работает с
PushService,BillingService,MapProvider, а не с конкретными SDK. - Соберите варианты через product flavors. Один код — несколько сборок со своими зависимостями.
- Научите сервер работать с несколькими провайдерами: разные push-токены и проверка покупок для каждого магазина.
- Автоматизируйте релизы в CI, чтобы все магазины получали обновление одновременно.
// build.gradle.kts модуля app
android {
flavorDimensions += "store"
productFlavors {
create("google") { dimension = "store" }
create("huawei") { dimension = "store" }
create("rustore") { dimension = "store" }
}
}
Реализации кладутся в src/google/, src/huawei/ и src/rustore/, а зависимости подключаются отдельно для каждого варианта через googleImplementation, huaweiImplementation и так далее. Во Flutter и React Native тот же подход строится на flavors и плагинах под каждую платформу.
Частые ошибки
- Сборку для Google загружают в AppGallery как есть. На Huawei без GMS не приходят push-уведомления, не открываются карты, не работает вход.
- Разные ключи подписи в разных магазинах. Пользователь, установивший приложение из одного магазина, не сможет обновиться из другого.
- Обновления выходят не везде. Версии расходятся, а поддержка получает жалобы на давно исправленные ошибки.
- Одни правила оплаты на все магазины. У каждого магазина своя политика по цифровым товарам — сверяйтесь с ней отдельно.