FCM是否具有以下缺点:如果设备处于脱机状态,并且从FCM触发了消息,则该消息在联机时不会在设备上收到吗?

时间:2018-07-04 05:56:48

标签: android firebase firebase-cloud-messaging

很久以前,我在Android应用中使用了GCM。它有一个缺点。从GCM触发一条消息到我的Android应用时,如果该设备未连接到互联网,则该应用未收到该消息。联机也未收到该消息是FCM有同样的缺点

2 个答案:

答案 0 :(得分:1)

如果设备未连接到FCM,则消息将一直存储到建立连接为止(再次遵守折叠键规则)。建立连接后,FCM会将所有待处理消息传递到设备。如果设备再也没有连接(例如,如果它已恢复出厂设置),则该消息最终将超时并从FCM存储中丢弃。除非设置了time_to_live标志,否则默认超时为四周。

https://firebase.google.com/docs/cloud-messaging/concept-options

答案 1 :(得分:0)

您设置了time_to_live参数的0值吗?

  

请记住,time_to_live值为0表示消息   无法立即交付的产品将被丢弃。

在Android和Web / JavaScript上,您可以指定消息的最大寿命。该值的持续时间必须为 0到2,419,200秒(28天),并且它对应于FCM存储和尝试传递消息的最长时间。不包含此字段的请求默认最长为四个星期