2

朋友,我正在使用聊天应用程序。在我的聊天应用程序中,我使用 GCM 进行推送通知。GCM 在我的应用程序中运行良好。但并非所有时候我都无法收到 GCM 消息。有时我收到 GCM 消息,有时没有。为什么这样?我搜索了 GCM 消息失败,但没有找到正确的消息。

任何人,可以请帮助我吗?

4

3 回答 3

7

当您向 Google GCM 服务器(位于https://android.googleapis.com/gcm/send)发布消息时,您需要传递三个值:registration_id、collapse_key 和 data.message。collapse_key 可能是您的问题。

确保为需要可靠传递的每条消息传递一个唯一的 collapse_key。如果您对每条消息使用相同的 collapse_key,则 GCM 可能会丢弃大约同时发送的多条消息。

您可以在此处找到更多信息:http: //developer.android.com/google/gcm/adv.html

于 2013-01-11T06:05:20.010 回答
1

由于您没有提供有关您的情况的太多信息并且没有共享代码片段,因此很难分析问题。但是,正如文档中所述,GCM 不保证传递或消息的顺序。

于 2012-10-12T07:05:40.223 回答
1

如果您通过任何防火墙(如“Cyber​​oam”或类似的东西)使用您的移动互联网,那么它会限制 GCM 推送通知的端口。尝试使用没有任何防火墙的直接互联网连接来实现它。这为我解决了问题。我希望它也能帮助你。

GCM 需要打开端口号 5228、5229 和 5230。GCM 通常使用 5228,但有时会使用可能受防火墙限制的 5229 和 5230。

于 2014-09-05T10:20:22.243 回答