如何检测GCM是否“折叠”了一条消息?

4
一个接收GCM消息的接收器如何检测消息是否已被GCM服务器使用collapse_key“折叠”?是否有任何反馈可用?或者最佳实践是什么?
目标是创建一个最优(最便宜)的实现“send_to_sync”模式,其中客户端仅在错过消息时才“同步”。
例如:假设10个设备通过GCM消息更新彼此的精确位置。只有最新的更新是相关的,因此每个用户都拥有自己的折叠键将是不错的选择。但由于使用GCM时仅限制为4个折叠键,因此您必须创建自己的系统并使用“send_to_sync”模式。 如果每个“send_to_sync”消息都包含最新的更新+指示是否有任何未读消息,那么如果没有,则无需同步。
1个回答

2
接收方可以通过在有效负载中包含某种计数器来检测消息是否已被折叠。每当服务器向设备发送GCM消息时,它都会将该计数器增加一。当设备接收到一条消息时,它将比较该计数器与其之前接收到的计数器。如果计数器增加了超过一次,则需要进行同步。

我喜欢这种简单的客户端解决方案,这将是我的首选。谢谢! - Tom Bevelander

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接