Huawei (HMS) - AppGallery Connect Setup
This page covers everything you do in the Huawei console: create the developer account, the project and the app, enable Push Kit, register your signing fingerprint, download the config file, and obtain the sending credential.
On‑prem / self‑hosted customers do all of this in their own Huawei account. Customers using Paylisher's hosted services either coordinate with Paylisher (whose central project hosts the app) or use their own project — see the Overview audience table.
1. Huawei developer account (enterprise)
Register at developer.huawei.com. It is free; verification usually takes 1–2 business days.
- Create a HUAWEI ID. ⚠️ The country/region is permanent once set — pick correctly.
- Start developer enrollment and accept the agreements.
- Choose Enterprise account type (not Individual) — the app is owned by the company.
- Complete enterprise verification via one of:
- Business license — business registry code + a clear scan of the business license (fastest for most regions).
- DUNS number — a 9‑digit D&B business identifier (if you don't have one, obtaining it can take ~2–4 weeks; use the business‑license path instead).
- ⚠️ The company legal name must match the document exactly (the #1 rejection cause).
Until enterprise verification is approved, the console runs in Trial mode and you cannot create an Android app (only Web is enabled). Wait for approval, then continue.
2. Create a project
- My projects → Add project → enter a project name (e.g.
Paylisher). - Set the Data storage location. For Turkey/EU users choose Germany / Europe (GDPR + nearest push region). This is hard to change later.
Like a single Firebase project, one AppGallery Connect project holds many apps. Add each
real application under the same project (one Huawei app per applicationId).
3. Add an Android app
Project settings → General information → Add app:
- Platform: Android
- Package name: must match your app's
applicationIdexactly (e.g.com.example.app) - App category: App
Each app gets its own App ID and App secret on creation.
4. Register the SHA‑256 signing fingerprint
HMS Push Kit verifies app authenticity by matching your signing certificate's SHA‑256
fingerprint against the one registered here. Without it, token acquisition and push delivery
fail (error 907135702). (This is stricter than FCM, which does not require it for push.)
Generate the fingerprint with keytool:
# Debug keystore (development / emulator builds)
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey \
-storepass android -keypass android
# Release keystore (production)
keytool -list -v -keystore <release.jks> -alias <alias> \
-storepass <pwd> -keypass <pwd>
Copy the value on the SHA256: line and add it under Project settings → General information →
App information → SHA‑256 certificate fingerprint. Register both debug and release
fingerprints (multiple are allowed). If you use AppGallery App Signing, also add that
certificate's SHA‑256.
5. Enable Push Kit
Push Kit is enabled per app:
- Project settings → Manage APIs → Push Kit → ON
- Grow → Push Kit → Enable now (accept the service agreement)
6. Download agconnect-services.json
Project settings → General information → App information → download agconnect-services.json.
Download it after setting the data storage location, registering the SHA‑256 fingerprint, and enabling Push Kit — otherwise the file is incomplete. If you change any of these later, re‑download and replace the file.
Place it in the app module — see App Integration.
7. Obtain the sending credential (for Engage)
The backend authenticates to Push Kit with OAuth 2.0 client credentials (client_id +
client_secret). There are two valid sources:
v2 / central (recommended) — API client
For one project → many apps with a single sending credential (the Firebase‑like model):
- Users and permissions → API key → Connect API → API client tab.
- Create → Type: Project‑level → Role: App administrator.
- Copy the generated Client ID and Client Secret / Key.
These map to HMS_CLIENT_ID / HMS_CLIENT_SECRET, together with the Project ID (Project
settings → General information) as HMS_PROJECT_ID.
v1 / single app — App ID & Secret
For a single app, use the app's App ID and App secret (Project settings → General
information → App information) as HMS_APP_ID / HMS_APP_SECRET.
The Service Account tab produces a private.json key that uses JWT auth and is meant for
AppGallery Connect management APIs — not Push Kit. Push Kit needs the API client (plain
Client ID + Secret) or the App ID/Secret.
Wire these into the backend in Backend Config.