问题
我发现有些声音声称,与通知消息相比,FCM数据消息的传递不够稳定。有没有人有直接经验或可以指向探讨此问题的资源?或者通知消息只是一个可折叠的高优先级数据消息,Firebase SDK会自动处理它吗?
该问题没有考虑强制退出应用程序的情况。在这种情况下,两种类型的消息都将无法被传送(据我所知)。
背景
我正在为推送服务提供商(类似于OneSignal)编写一个新的Android SDK。该SDK应默认处理推送通知的显示,客户端应用程序可以选择自己处理传入的推送。
实际的传递当然是由Firebase Cloud Messaging(在运行Play Services的设备上)完成的。因此,在FCM上有两种消息可供选择:数据 vs 通知消息。
由于数据消息由注册的FirebaseMessagingService
一贯处理(只要载荷中没有notification
关键字),这应该是SDK的最佳选择。[请参阅文档]到目前为止,我尚未能够产生任何情况下未传递数据消息的情况(前台或后台)。