这是我的情景。
当网络关闭时,GCM客户端本地存储本地队列中的设备到云消息(上游)(它的长度似乎是20,尽管从未说明)。
当此队列已满时,将在本地丢弃消息,并且intent包含消息类型MESSAGE_TYPE_SEND_ERROR
+有关删除了messageId的附加内容以及error=TooManyMessages
。
使用TTL'd版本的gcm.send,允许强制上游始终被丢弃(当网络关闭时)而不是排队(消息类型MESSAGE_TYPE_SEND_ERROR
+额外关于哪个messageId被删除,以及{{ 1}}),这不是我想要的。
到目前为止,这么好。 问题是JB(4.1.2& 4.2.2)&当网络再次启动时,ICS(4.0.4)在网络关闭时排队的消息不会被发送。重新启动强制它们被发送。更糟糕的是,一旦队列已满,即使网络已启动,也无法再发送消息。这里再次需要重新启动。 看起来某个地方缺少“同花顺”。
这完全适用于KK 4.4.2
在每个测试设备上,Google Play服务APK都是最新的。
任何人都可以在JB& ICS,也许还有其他版本? 有解决方法吗? 感谢。
答案 0 :(得分:1)
Google的最新升级解决了这个问题。
我并不确切知道哪个组件升级了,但问题在以前测试的所有版本上都没有了。