Android - 强制获取新的gcm消息

时间:2014-12-01 10:44:11

标签: android titanium google-cloud-messaging

我目前正在开发一款使用gcm.js模块处理GCM消息的钛应用程序。但是,当涉及到消息传递时,GCM似乎真的很麻烦。如果收到这些消息,我会经常发生这种消息,如果它们被收到的话。

我知道GCM试图节省能源。但奇怪的是,GCM是最不可靠的,当手机通过USB连接到我的电脑,我正在调试应用程序。在我看来,GCM根本不应该试图在这种情况下节省能源!当手机正在充电时,通知应立即到达。

我事件尝试发送TTL值为0-10的消息,以便使用"现在或从不"效果,但这只会导致永远不会收到任何消息。

所以,我需要的是一种手动强制我的Android手机获取新的GCM消息的方法,以便我可以调试收到它们时发生的事情。我没有时间等待数小时,直到手机收到消息。

有办法做到这一点吗?

PS:是的,我已经尝试过多款手机,包括Nexus 5,Galaxy Nexus和一些htc设备。到处都是:/

1 个答案:

答案 0 :(得分:0)

你可以尝试这个(仅用于调试目的):
1)确保delay_while_idle标志设置为false(不建议在最终产品中将其保持为假)。
2)按原样保留TTL 3)使用带有效负载的消息(记住限制为4 kb)。您可以通过删除collapse_key参数来设置此项 4)现在在你的接收器中实现message_type

我的逻辑是你发送一条带有适当负载的消息,因为它只能活10秒,它就会崩溃。折叠后,您可以通过message_type_deleted获取该消息。 (同步应用以获取)

PS:我怀疑这将是一种稳定的技术,但它最有可能达到目的。

希望它有所帮助!