Configuring HMS Push Kit

Before configuring MoEngage SDK for receiving push notifications from Push Kit please make you have configured Push Kit in your application, if not done already refer to the HMS Push Kit documentation and configure Push Kit first.

Configure your account on MoEngage

Go to the Settings Page Dashboard --> Settings --> Channel --> Push --> Mobile Push --> Push Amp+ on the MoEngage Dashboard and add the Huawei Push Settings under the Push Amp+ Tab

Refer to the Configuring Huawei Push on MoEngage documentation to learn more about the fields.

SDK Installation

MavenBadgeMavenBadge

implementation("com.moengage:hms-pushkit:$sdkVersion")

replace $sdkVersion with the appropriate SDK version

Push Token Management

When using MoEngage SDK you can either register for token and pass on to the MoEngage SDK or simply let MoEngage SDK register for Push Token.

Token Registration Handled by Application

If your application is registering for Push Notification use the below API to pass the Push token to the MoEngage SDK.

MoEPushKitHelper.getInstance().passPushToken(context, token)
MoEPushKitHelper.Companion.getInstance().passPushToken(context, token);

Token Registration Handled by MoEngage

By default, the MoEngage SDK does not register for push token. You can enable the token registration using the below API in the MoEngage.Builder while initializing the SDK

val moEngage = MoEngage.Builder(this, "XXXXXXXX")
        .enablePushKitTokenRegistration()
        .build()
    MoEngage.initialise(moEngage)
MoEngage moEngage =
        new MoEngage.Builder(this, "XXXXXXXXXX")
            .enablePushKitTokenRegistration()
            .build();
    MoEngage.initialise(moEngage);

Add the below Service in your application's Manifest file.

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

When MoEngage SDK handles push registration it optionally provides a callback to the Application whenever a new token is registered or the token is refreshed.
An application can get this callback by implementing PushKitEventListener and registering for a callback in the Application class' onCreate() using MoEPushKitHelper.getInstance().addEventListener()

🚧

To use Push Kit you need to update the moe-android-sdk to 10.3.00 or above.

Version Compatibility

The hms-pushkit artifact/module is dependent on the Core SDK or moe-android-sdk artifact/module.
Based on the version of the Core SDK you are using choose the right version of the Push Kit module.

Core SDK Version

Push Kit Version

11.4.00 and above

2.4.00 and above

11.2.00 - 11.3.01

2.2.00 - 2.3.00

11.1.00

2.1.00

11.0.03 - 11.0.05

2.0.01, 2.0.02

11.0.01 - 11.0.02

2.0.00

10.6.00

1.2.00

10.4.00 - 10.5.00

1.1.00

10.3.00

1.0.00