我目前正在开发一款使用gcm.js模块处理GCM消息的钛应用程序。但是,当涉及到消息传递时,GCM似乎真的很麻烦。如果收到这些消息,我会经常发生这种消息,如果它们被收到的话。
我知道GCM试图节省能源。但奇怪的是,GCM是最不可靠的,当手机通过USB连接到我的电脑,我正在调试应用程序。在我看来,GCM根本不应该试图在这种情况下节省能源!当手机正在充电时,通知应立即到达。
我事件尝试发送TTL值为0-10的消息,以便使用"现在或从不"效果,但这只会导致永远不会收到任何消息。
所以,我需要的是一种手动强制我的Android手机获取新的GCM消息的方法,以便我可以调试收到它们时发生的事情。我没有时间等待数小时,直到手机收到消息。
有办法做到这一点吗?
PS:是的,我已经尝试过多款手机,包括Nexus 5,Galaxy Nexus和一些htc设备。到处都是:/答案 0 :(得分:0)
你可以尝试这个(仅用于调试目的):
1)确保delay_while_idle
标志设置为false
(不建议在最终产品中将其保持为假)。
2)按原样保留TTL
3)使用带有效负载的消息(记住限制为4 kb)。您可以通过删除collapse_key
参数来设置此项
4)现在在你的接收器中实现message_type。
我的逻辑是你发送一条带有适当负载的消息,因为它只能活10秒,它就会崩溃。折叠后,您可以通过message_type_deleted
获取该消息。 (同步应用以获取)
希望它有所帮助!