Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guideDeveloper guideAdmin guide
Company siteHelp center
English
  • Русский
  • English
v75
Login
  • User API documentation
  • API interaction
  • Matching
  • Profiles
  • Databases
  • Resources
  • Segments
  • Suppression lists
  • Templates and fragments
  • Campaigns
  • Mailings
  • Automation scenarios
  • Loyalty Programs
  • Promo codes
  • Goals
  • Application push notifications
  • Market
  • Analytic reports
  • SendersDev
  • External datatables queries
  • Objects
  • Miscellaneous
  • Importing the API collection in Postman
  • List of API endpoints
  • SDK
    • mSDK
      • Android
        • Quick Start
        • SDK Functionality
        • SDK Configuration
        • Public SDK API
        • Provider configuration android
          • Firebase Cloud Messaging
          • Huawei Mobile Services
          • RuStore
      • iOS
      • React Native (Android/iOS)
      • Managing JWT and Role Token
  • SDK
  • mSDK
  • Android
  • Provider configuration android
  • Huawei Mobile Services
Documentation for version v75

Huawei Mobile Services

Huawei Mobile Services Project Setup​

Create an AppGallery Connect project. Go to Development and Services —> Add project:



Add a new app to the project:



Provide your app details:



Download the agconnect-services.json file:



Return to the project settings and add the SHA-256 certificate fingerprint. You can obtain it by running ./gradlew signingReport in the root directory of your app project:



In the left sidebar, select Push Kit under Growth:



Click Enable —> Select data storage location:



Configuring the Altcraft Resource​

In the Altcraft platform, create a resource or add a new communication channel — Push — to an existing one. Then, in the resource settings, select the Android platform and enable Huawei Mobile Services:



Scroll down to the Huawei settings and specify the App ID, OAuth 2.0 client ID, and OAuth 2.0 client secret:



After making changes, don’t forget to save the resource.

Integrating Huawei Push Kit into the App Project​

Move the downloaded agconnect-services.json file to the root directory of your app module (app):



Add repositories and dependencies to your Gradle files:


settings.gradle.kts (project settings)

dependencyResolutionManagement {
repositories {
// Other repositories..
maven("https://developer.huawei.com/repo/")
}
}



build.gradle.kts (project level)

buildscript {
repositories {
maven("https://developer.huawei.com/repo/")
}
dependencies {
classpath("com.android.tools.build:gradle:8.10.1") // Important: use the AGP version your project uses.
classpath("com.huawei.agconnect:agcp:1.9.1.301")
}
}



build.gradle.kts (app level)

plugins {
id("com.huawei.agconnect")
}

dependencies {
implementation("com.huawei.hms:push:6.11.0.300")
implementation("com.huawei.agconnect:agconnect-core:1.7.3.302")
}


Note

Information about the latest dependency versions is available on Huawei Developer pages:

  • AppGallery Connect
  • HMS Push Core

After adding the repository and dependencies, sync your Gradle changes.


Creating a Class Extending HmsMessageService()​

Create a class that extends HmsMessageService():

import com.huawei.agconnect.AGConnectOptionsBuilder
import com.huawei.hms.aaid.HmsInstanceId
import com.huawei.hms.api.HuaweiApiAvailability

/**
* HMS service for handling push tokens and incoming notifications.
*
* Extends [HmsMessageService] and overrides key HMS callback methods.
*/
class HMSService : HmsMessageService() {
/**
* Called when a new HMS token is generated.
*
* @param token The new HMS token.
*/
override fun onNewToken(token: String) {
super.onNewToken(token)
}

/**
* Called when a push message is received from HMS.
*
* Forwards the message with additional metadata to all receivers.
*
* @param message The received [RemoteMessage].
*/
override fun onMessageReceived(message: RemoteMessage) {
// Message
}
}

Updating the App Manifest​

Add the HMSService declaration to your app’s AndroidManifest.xml:

<service
android:name="com.altcraft.hms.HMSService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT"/>
</intent-filter>
</service>

Replace com.altcraft.hms.HMSService with your own package and class name.

Last updated on Sep 5, 2025
Previous
Firebase Cloud Messaging
Next
RuStore
  • Huawei Mobile Services Project Setup
  • Configuring the Altcraft Resource
  • Integrating Huawei Push Kit into the App Project
  • Creating a Class Extending HmsMessageService()
  • Updating the App Manifest
© 2015 - 2025 Altcraft, LLC. All rights reserved.