registerAirflexNotification method
Future<void>
registerAirflexNotification(
{ - required String userId,
})
Implementation
Future<void> registerAirflexNotification({required String userId}) async {
_currentUserId = userId;
_fcmTokenRefreshSubscription?.cancel();
_fcmTokenRefreshSubscription = _fcmInterface.onTokenRefresh.listen((token) {
FlutterLinkIdMmpPlatform.instance.pushFCMToken(userId: userId, token: token);
});
final fcmToken = await _fcmInterface.getFCMToken();
if (fcmToken == null) {
debugPrint("===== FCM Token is null =====");
return;
}
FlutterLinkIdMmpPlatform.instance.pushFCMToken(userId: userId, token: fcmToken);
final initMessage = await _getInitMessageData();
if (initMessage != null && !_pushTrackedInitMessageData) {
final notiId = initMessage['id'] as String?;
if (notiId != null) {
FlutterLinkIdMmpPlatform.instance.trackNotiClick(userId: userId, notificationId: notiId);
_pushTrackedInitMessageData = true;
}
}
_notiClickTrackSubscription?.cancel();
_notiClickTrackSubscription = _onOpenMessageData().listen((data) {
final notiId = data['id'] as String?;
if (notiId != null) {
FlutterLinkIdMmpPlatform.instance.trackNotiClick(userId: userId, notificationId: notiId);
}
});
}