我有一个基于Google云消息传递的应用程序,一直运行良好。但突然间(今天)出现了我们从未见过的问题。对于每个设备之间发送的消息,接收设备都将收到两份。第一个几乎瞬间到达(在发送后不到3秒内)。第二个则几分钟后才到达。测试中有两个设备,无论哪一个是发送者/接收者,问题都是相同的。因此,如果一个设备向另一个设备发送几条消息,那么另一个设备将会几乎立即接收到这些消息 - 但随后它将在稍后的时间内接收到一大堆消息,这些消息是它已经接收到的消息的副本。
我设置了断点以确保发送设备不是罪魁祸首:该消息仅被发送了一次(即仅调用了发送的Web服务 - 而运行在Google App Engine上的后端代码已经很长时间没有更改过)。但是,该消息不知何故传递到接收设备两次。通过使用断点,我还确定了我们接收方代码不是问题的原因:验证了每条发送消息确实会触发
我们还确保了数据库中的注册ID是最新的。目前我陷入困境,需要您的建议以继续推进。有什么好的想法吗?
我设置了断点以确保发送设备不是罪魁祸首:该消息仅被发送了一次(即仅调用了发送的Web服务 - 而运行在Google App Engine上的后端代码已经很长时间没有更改过)。但是,该消息不知何故传递到接收设备两次。通过使用断点,我还确定了我们接收方代码不是问题的原因:验证了每条发送消息确实会触发
GCMIntentService :: onMessage()
两次。我们还确保了数据库中的注册ID是最新的。目前我陷入困境,需要您的建议以继续推进。有什么好的想法吗?