【发布时间】:2014-12-01 10:44:11
【问题描述】:
我目前正在开发一个使用 gcm.js 模块来处理 GCM 消息的钛应用程序。但是在消息传递方面,GCM 似乎确实存在缺陷。我经常会延迟几个小时才收到消息,如果他们真的收到的话。
我知道 GCM 试图节省能源。但奇怪的是,GCM最不可靠,当手机通过USB连接到我的电脑时,我正在调试应用程序。在我看来,GCM 在这种情况下根本不应该尝试节省能源!当手机正在充电时,通知应立即到达。
我曾尝试发送 TTL 值为 0-10 的消息,以利用“现在或永不”效应,但这只会导致从未收到任何消息。
所以,我需要一种手动强制我的 android 手机获取新 GCM 消息的方法,这样我就可以调试收到它们时会发生什么。我没有时间等几个小时,直到手机收到消息。
有没有办法做到这一点?
PS:是的,我试过几部手机,包括 Nexus 5、Galaxy Nexus 和一些 htc 设备。到处都是一样的:/
【问题讨论】:
-
您有没有想过不是 GCM 有问题,而问题出在 Titanium / Javascript 上?
-
@Squonk 这当然是一种可能性,但我对此表示怀疑,因为接收部分是用 Java 编写的,我认为它不会收到通知。我还尝试了另一个 gcm 模块,它具有完全不同的代码库来获取 gcm 通知,它也可以工作,但具有相同的延迟和不可靠性,这就是我切换到 gcm.js 的原因。所以我真的怀疑问题出在 gcm 模块上。这是整个 gcm 系统。
标签: android titanium google-cloud-messaging