很久以前,我在Android应用中使用了GCM。它有一个缺点。从GCM触发一条消息到我的Android应用时,如果该设备未连接到互联网,则该应用未收到该消息。联机也未收到该消息。是FCM有同样的缺点?
答案 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存储和尝试传递消息的最长时间。不包含此字段的请求默认最长为四个星期。