我试图遵循官方指南设置一个GCM客户端。
情况
在设置了指南中的所有内容之后,我可以通过以下方式向GCM发送信息:
gcm.send然后,正如应该发生的那样,广播公司调用了我的意图的OnReceived程序。
到目前一切尚好。
问题
当接收到实际的数据,意思-意图的附加作为一个捆绑对象,一个问题发生。
附加内容(toString)包含一个错误:
Bundle[{error=TooManyMessages,
message_type=send_error,
google.message_id=1,
android.support.content.wakelockid=1}的意义
现在,我已经做了我的研究,但没有得到实际的答案。只是对正在发生的事情的解释。这就是问题所在及其解释:
This means that too many messages were stored in the GCM server for a single device without being delivered (which might happen if your device was offline while many messages were sent by your server).
Once the number of such messages reaches the limit, which is 100 if you don't use a collapse key, they are deleted from the GCM server, and you get that error message, which informes you your device should sync with your server in order to get the lost messages.
问题
因此,根据答案,我要同步我的设备与服务器。确切地说是怎么回事?
还要注意,我还没有创建GCM服务器。我只使用正式的GCM客户端实现。
提前感谢那些帮助我的人!
-P
发布于 2013-12-02 00:42:43
目前还不清楚你想要发送什么以及发送给谁。gcm.send方法从应用程序向服务器发送一条消息。对于大传递的消息,您必须实现一个连接到的服务器。由于您没有服务器,GCM无法将消息发送到您的服务器,并存储消息。一旦存储了太多的消息,您就会得到TooManyMessages错误。
您必须实现服务器才能使用GCM。如果您只想从服务器向应用程序发送消息,可以使用更简单的GCM。如果您需要从您的应用程序发送消息到您的服务器,您应该使用GCM。
您所指的答案描述了一种不同的情况,在这种情况下,您可以获得TooManyMessages错误(当服务器向同一设备发送多条消息,但GCM无法传递这些消息时),但这与您的情况无关。
https://stackoverflow.com/questions/20318738
复制相似问题