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

GCM消息的接收者如何使用collapse_key检测消息是否已被GCM服务器“折叠”?有没有反馈?还是最佳实践?

目标是为“send_to_sync”模式创建最佳(最便宜)的实现,其中客户端仅在错过消息时“同步”.

例:
假设一组10个设备通过GCM消息在其确切位置上相互更新.只有最新的更新是相关的,所以让每个用户拥有自己的折叠键会很好.由于使用GCM时4个折叠键的限制,您无法为每个用户使用折叠键,因此您必须创建自己的系统并使用“send_to_sync”模式.
如果每条“send_to_sync”消息包含指示的最新更新,如果有任何遗漏消息,那将是很好的,如果没有,则不需要同步.

最佳答案 接收器可以通过在有效载荷中包括某种计数器来检测消息已被折叠.每次服务器向设备发送GCM消息时,它都会将该计数增加一.当设备收到消息时,它会将该计数与之前收到的计数进行比较.如果计数增长超过一个,则需要同步.

点赞