Skip to main content
Documentation for version v73

Huawei Mobile Services

Настройки проекта Huawei Mobile Services

Создайте проект AppGalleryConnect. Для этого перейдите в раздел Разработка и сервисы -> Добавить проект:



Добавьте новое приложение в проект:



Укажите данные о вашем приложении:



Выполните загрузку файла agconnect-services.json:



Вернитесь к настройкам проекта и добавьте Отпечаток подписи SHA-256. Получить его можно, выполнив консольную команду ./gradlew signingReport в корневом каталоге проекта приложения:



В левой боковой панели выберите Push Kit в разделе Рост:



Нажмите Включить -> Выберите место хранения данных:



Настройка ресурса Altcraft

В платформе Altcraft создайте ресурс или добавьте к существующему новый канал коммуникации — Push. Затем в настройках ресурса выберите платформу Android и активируйте переключатель Huawei Mobile Services:



Чуть ниже перейдите в настройки Huawei и укажите ID приложения, ID клиента OAuth 2.0 и секрет клиента OAuth 2.0:



tip

Все эти данные можно найти в разделе Данные приложения в Huawei Mobile Services (там же, куда на прошлом этапе был добавлен Отпечаток подписи SHA-256):

После внесения изменений не забудьте сохранить ресурс.

Интеграция Huawei Push Kit в проект приложения

Переместите загруженный файл agconnect-services.json в корневой каталог модуля приложения (app):



Добавьте репозитории и зависимости в Gradle-файлы:


settings.gradle.kts (project setting)


dependencyResolutionManagement {
repositories {

//another 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") //важно! укажите Android Gradle Plugin (AGP) с версией которую вы используете.
classpath("com.huawei.agconnect:agcp:1.9.1.301")
}
}



build.gradle.kts (applevel)

  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")
}


Обратите внимание

Информация об актуальных версиях зависимостей доступна на страницах Huawei Developer:

После добавления репозитория и зависимостей выполните синхронизацию изменений Gradle.


Создание класса, расширяющего FirebaseMessagingService()

Создайте расширяющий 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
}
}

Обновление manifest приложения

Добавьте информацию о HMSService в 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>

Замените com.altcraft.hms.HMSService на ваш пакет и класс.