我对GCM有一个非常奇怪的问题。每次我的设备收到GCM消息时,我都会记录到文本文件。
我发送GCM消息以在我的应用程序中开始测试,但是在错误的测试中收到了错误的数据。我注意到重新启动后,发送的下一个推送是向设备发送超过90条GCM消息。我已经加倍检查了我的服务器代码以确保它只发送一次推送,但是在重新启动后它会再次发送最后12小时左右的每次推送。
我多次收到相同的推送,我知道这是因为消息具有来自我们系统的唯一ID,用于标识每次推送。
还有其他人注意到同样的问题吗?谁能告诉我如何防止这些多次推送同时发送?包括已经处理的旧推。
由于
编辑:经过更多调试后,我可以确认GCM服务器在重启后再次爆破消息。我在GCM消息创建到消息本身时添加了一个时间戳,添加了time_to_live值360(6分钟)并添加了折叠键。这些功能都不会阻止再次发送GCM消息。我收到了在9:00:08在9:00:09创建的相同消息,然后在09:45:37重新启动后再次收到。时间戳仍设置为9:00:08。我真的需要一些帮助,我很难相信这是GCM的预期行为。