Публікація Android-додатка в Huawei AppGallery
AppGallery — третій за розміром магазин додатків у світі. Після 2020 року Huawei-пристрої поставляються без Google Mobile Services, і користувачі можуть встановити додаток лише через AppGallery або сторонні джерела. Для ринків Європи, Близького Сходу та Азії ігнорувати цей канал — означає відрізати значну аудиторію.
Реєстрація та верифікація аккаунту
Huawei Developer аккаунт реєструється на developer.huawei.com. Для компанії вимагається верифікація: завантаження реєстраційних документів + банківська карта або рахунок. Верифікація займає 1–3 робочих дні. Без неї доступен тільки режим перегляду — публікація заблокована.
Після верифікації — створити проект у AppGallery Connect, додати додаток, указати Package Name. Package Name мусить совпадати з тим, що в APK. Змінити його після першої завантаженням неможна.
Сумісність з HMS замість GMS
Головна технічна задача — додаток, спочатку написаний під Google Mobile Services (Firebase, Google Maps, Google Sign-In), не працює на пристроях без GMS. Huawei пропонує HMS Core як заміну:
| GMS сервіс | HMS аналог |
|---|---|
| Firebase Cloud Messaging | HMS Push Kit |
| Google Maps SDK | HMS Map Kit |
| Google Sign-In | Huawei ID |
| Firebase Crashlytics | HMS App Debugger / Crash |
| Google Pay | Huawei Pay |
Для додатків без HMS-інтеграції — можна опублікувати APK «як є», але push-уведомлення та карти працювати не будуть. Це може бути прийнятно для простих утиліт.
Якщо потрібна повноцінна підтримка: або дублювати логіку з перевіркою доступності GMS/HMS, або використовувати бібліотеки-адаптери:
// Перевірка наявності HMS / GMS перед ініціалізацією push
fun checkServiceAvailability(context: Context): ServiceType {
val googleAvailability = GoogleApiAvailability.getInstance()
val resultGms = googleAvailability.isGooglePlayServicesAvailable(context)
val huaweiAvailability = HuaweiApiAvailability.getInstance()
val resultHms = huaweiAvailability.isHuaweiMobileServicesAvailable(context)
return when {
resultGms == ConnectionResult.SUCCESS -> ServiceType.GMS
resultHms == com.huawei.hms.api.ConnectionResult.SUCCESS -> ServiceType.HMS
else -> ServiceType.NONE
}
}
Підготовка APK та вимоги AppGallery
AppGallery приймає APK та AAB. Вимоги до збірки:
- targetSdkVersion: мінімум Android 9 (API 28) для нових додатків
-
64-bit: обов'язкова підтримка
arm64-v8a - Signing: APK мусить бути підписаний release keystore. Huawei не пропонує аналог Play App Signing — ключ зберігається у вас
При завантаженні APK Huawei запускає автоматичну перевірку на наявність шкідливого коду та порушень політик. Якщо в APK є референси на GMS API (com.google.android.gms), це само по собі не причина для відмови, але не буде працювати на пристроях без GMS.
Листинг та review
Листинг заповнюється у AppGallery Connect: назва (до 55 символів), опис (до 8000), скриншоти (мінімум 2, максимум 8 для телефону), іконка 216×216 px.
Review зазвичай займає 1–3 робочих дні. Частові причини затримки:
- Функціональність додатка вимагає додаткової документації (фінансові додатки, медицина, VPN)
- Посилання на сторонні магазини або прямі посилання на оплату за межами HMS IAP
- Недоступні розділи при тестуванні (вимагає тестовий аккаунт у Notes)
Монетизація через HMS IAP
Якщо в додатку є покупки — для Huawei-пристроїв потрібно підключити HMS In-App Purchases Kit. Google Play Billing на цих пристроях недоступен. HMS IAP API структурно схожий на Play Billing, але підключається окремо:
// Ініціалізація HMS IAP клієнту
val iapClient = Iap.getIapClient(activity)
val task = iapClient.isEnvReady()
task.addOnSuccessListener { /* HMS IAP доступен */ }
.addOnFailureListener { /* Fallback на GMS */ }
Процес роботи
Реєстрація та верифікація аккаунту розробника, створення додатка у AppGallery Connect.
Оцінка сумісності: аналіз залежностей від GMS, визначення scope HMS-інтеграції.
Підготовка APK/AAB, заповнення листингу.
Завантаження, прохідження review, публікація.
Орієнтири по строкам
Публікація додатка без HMS-інтеграції — 1–2 дні (з урахуванням review). При необхідності додати HMS Push Kit, Map Kit — додатково 3–7 днів розроблення залежно від використовуваних сервісів.







