处理相同类型的多个响应 Google 云消息服务器

Handle Multiple Responses of same type Google Cloud Messaging Server

我已经为用户配置文件实施了 Google 云消息传递。

当用户在网络应用程序上更新配置文件时,它会立即向 GCM 服务器发送 GCM 请求,然后从那里发送到我注册的 Android 设备,用户配置文件会在设备上更新.

但是当设备离线,并且用户更新用户配置文件两次。设备上线时发送了两个请求,如何只获取最近的请求?

如有任何帮助,我们将不胜感激。 提前谢谢你。

这就是 collapse_key 参数的用途。如果您向同一台设备发送两条具有相同 collapse_key 的 GCM 消息,如果该设备处于离线状态,则 GCM 服务器仅存储最后一条消息,并在设备恢复在线时向该设备发送一条消息。

这是关于 collapse_key 的引述:

If the device is connected but idle, the message will still be delivered right away unless the delay_while_idle flag is set to true. Otherwise, it will be stored in the GCM servers until the device is awake. And that's where the collapse_key flag plays a role: if there is already a message with the same collapse key (and registration ID) stored and waiting for delivery, the old message will be discarded and the new message will take its place (that is, the old message will be collapsed by the new one). However, if the collapse key is not set, both the new and old messages are stored for future delivery. Collapsible messages are also called send-to-sync messages.

(Source)

语法简单。例如,如果您要发送 JSON 请求,请添加以下内容:

"collapse_key" : "something",

折叠键不必对每个设备都是唯一的。