如何识别FCM消息是针对FCM客户端处理程序还是UrbanAirship处理程序



我在Android上使用UrbanAirship作为我的移动参与工具,与FCM并行。根据UrbanAirship文档,如果使用我自己的FirebaseMessagingService,我需要使用AirshipFirebaseMessagingService.processMessageSync(this, remoteMessage);传递远程消息

我怎么能知道UrbanAirship没有处理该消息,我就退回到我自己的FCM通知生成器?processMessageSync方法没有返回值。我注意到,由于UrbanAirship以同步的方式处理消息,因此它们正在消耗和取消remoteMessage对象的notification字段。我觉得奇怪的是,他们没有暴露任何财产或回报价值。

这是为我工作的代码(AppFirebaseMessageService.java的一部分(

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
AirshipFirebaseMessagingService.processMessageSync(this, remoteMessage);
if (remoteMessage != null && remoteMessage.getNotification() != null) {
handleInternalFcm(remoteMessage);
}
}

我得到了UrbanAirship的支持。这是知道UA是否可以处理消息的官方方法:

PushMessage pushMessage = new PushMessage(message.getData());
if (pushMessage.containsAirshipKeys()) {
//will be handled by UrbanAirship
}

相关内容

  • 没有找到相关文章

最新更新