Push Notifications
Firebase Cloud Messaging (FCM)
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onNewToken(token: String) {
super.onNewToken(token)
B2MetricSDK.getInstance(this).registerPushToken(token, PushProvider.FCM)
}
override fun onMessageReceived(remoteMessage: RemoteMessage) {
super.onMessageReceived(remoteMessage)
B2MetricSDK.getInstance(this).trackPushOpened(remoteMessage.data)
}
}
Register the service in AndroidManifest.xml with an intent-filter for com.google.firebase.MESSAGING_EVENT.
Huawei Mobile Services (HMS)
val token = HmsInstanceId.getInstance(applicationContext)
.getToken("YOUR_HUAWEI_APP_ID", "HMS")
B2MetricSDK.getInstance(context).registerPushToken(token, PushProvider.HMS)
push_token is logged when registerPushToken() is called; push_opened is logged when trackPushOpened() is called, with the FCM/HMS payload attached as event properties.