FCM数据消息不发送最新的数据有效负载

时间:2018-04-24 12:31:27

标签: android firebase-cloud-messaging

我通过FCM将数据消息发送到我的Android应用程序。但是当我更改数据有效负载结构时,它似乎没有影响。 FCM有效载荷是

{
"to" : "eF3lccIdYs4:APA91bHpC1xWNl4MZXXXX",
"data" : {
 "caller_name" : "Sobin Thomas",
  "room"    : "2000",
  "call_type" : "audio"

  }, 
"time_to_live" : 0
}

如果我将其更改为

{
"to" : "eF3lccIdYs4:APA91bHpC1xWNl4MZXXXX",
"data" : {
 "**caller**" : "Sobin Thomas",
  "**room_number**" : "2000",
  "call_type" : "audio",
 **"call_time" : "2018-04-24 12:12:12",**

  }, 
"time_to_live" : 0
}

旧数据有效负载仍在移动应用中。当然,数据有效负载值会发生变化

1 个答案:

答案 0 :(得分:1)

Firebase云消息传递将尝试传递每条消息,而不仅仅是最后一条消息。可能发生的情况是您的设备短时间内正在接收多条消息,并且只显示一条消息。

如果您希望新邮件替换旧邮件,则需要指定所谓的collapse_key。来自documentation

  

此参数标识可以折叠的一组消息(例如,使用collapse_key: "Updates Available"),以便在可以恢复传递时仅发送最后一条消息。这是为了避免在设备重新联机或变为活动状态时发送过多相同的消息。