iOS上的Firebase云消息传递:改善前台通知的消息延迟

时间:2016-11-01 16:57:20

标签: ios firebase push-notification firebase-cloud-messaging

当发送同时设置了datanotification有效负载的消息时,它们会在应用程序处于后台时照常显示。但是,当应用程序位于前台时,会在

中收到它们
UNUserNotificationCenterDelegate userNotificationCenter:willPresentNotification:withCompletionHandler:

到目前为止,此工作正常,但发送和接收前台消息之间的延迟远远高于我们在Android应用程序(也使用Firebase)上观察到的延迟。原因似乎是这些通知始终通过APNS而不是持久的Firebase连接发送。

当应用处于前台时,如何强制Firebase通过自己的连接而不是APNS发送包含datanotification个有效负载的消息?

所以基本上我希望它们在应用程序处于前台时表现得像纯数据消息(在IRMessagingDelegate applicationReceivedRemoteMessage:中接收),如果不是,则仍然能够显示通知。

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能。如果消息附加了notification元素,FCM将始终通过APN发送这些元素。

您唯一的选择可能是发送两条消息 - 一条仅限数据的消息(当您的应用位于前台时将通过FCM发送)和一条通知消息(将通过APN发送),并拥有您的应用如果它在前台运行,则处理它接收这两个消息的情况。

相关问题