2016-11-01 156 views
0

當發送帶有datanotification負載集的消息時,當應用程序處於後臺時,它們將照常顯示。然而,當應用程序在前臺,他們在iOS上的Firebase雲消息傳遞:改善前臺通知的消息延遲

UNUserNotificationCenterDelegate userNotificationCenter:willPresentNotification:withCompletionHandler: 

這工作得很好,到目前爲止,但發送和接收前景消息之間的延遲比我們對我們的Android應用程序中觀察到的一個顯着較高的接收(這也使用Firebase)。原因似乎是這些通知總是通過APNS發送,而不是持續的Firebase連接。

如何強制Firebase通過自己的連接發送包含datanotification有效載荷的消息,而不是在應用程序處於前景時使用APNS?

所以基本上我希望它們的行爲像純數據消息(在IRMessagingDelegate applicationReceivedRemoteMessage:中收到),當應用程序位於前景中時,如果不是,則仍然能夠顯示通知。

回答

0

不幸的是,你不能。如果消息中附有notification元素,則FCM將始終通過APN發送這些元素。

您唯一的選擇可能是發送兩條消息 - 一條僅用於數據的消息(當您的應用位於前臺時將通過FCM發送)和一條通知消息(將通過APN發送),並讓您的如果應用程序在前臺運行,它將處理接收這兩個消息的情況。

+0

不是最好的解決方案,但我會嘗試。感謝您的回答! – fl0cke

相關問題