GCM CCS 上游消息是不是强制重新连接到 GCM 网络?

Posted

技术标签:

【中文标题】GCM CCS 上游消息是不是强制重新连接到 GCM 网络?【英文标题】:Do GCM CCS Upstream Messages force a re-connection to the GCM network?GCM CCS 上游消息是否强制重新连接到 GCM 网络? 【发布时间】:2013-08-15 09:48:06 【问题描述】:

我遇到了一些问题,即 GCM 推送通知无法正确到达 android 设备。经过几天的研究,我发现 Android 设备使用心跳来保持与 GCM 服务的连接。遗憾的是,心跳似乎太高了,因此 Android 设备可能(但并非总是如此)失去与 GCM 服务的连接(例如,从 WLAN 切换到 3G 时)。

在Google's product forums上已经有很多关于这个问题的讨论,但是除了使用像parse.com这样的第三方推送服务之外似乎没有真正的解决方案

现在,Google 发布了 GCM 云连接服务器,它使 Android 设备上的应用能够通过 GCM 将上游消息发送到第三方应用服务器。

有谁知道上游消息的使用是否会在连接不可用时强制重新连接到 GCM 网络?

【问题讨论】:

【参考方案1】:

我对此进行了测试,但似乎并非如此。但是您可以通过发送以下广播意图来强制 Android 发送常规通知心跳:

com.google.android.intent.action.MCS_HEARTBEAT
com.google.android.intent.action.GTALK_HEARTBEAT

我是从 Google Play 上的 Push Notification Fixer 应用程序中获得的(我不是开发人员)。 https://play.google.com/store/apps/details?id=com.andqlimax.pushfixer.noroot

【讨论】:

【参考方案2】:

您可以在此处阅读问题的完整描述:

https://productforums.google.com/forum/#!msg/nexus/fslYqYrULto/lU2D3Qe1mugJ

简而言之,问题是某些路由器或移动运营商导致的tcp空闲超时。

【讨论】:

以上是关于GCM CCS 上游消息是不是强制重新连接到 GCM 网络?的主要内容,如果未能解决你的问题,请参考以下文章

Android 应用上游消息传递是不是可靠?

多个 XMPP 服务器处理上游 GCM 消息

如何使用 Android 代码中的 GCM CCS 进行上游消息传递服务?

在带有 HTTP 服务器(不是 CCS/XMPP)的 Android GCM 应用中接收消息

gcm 云连接服务器到应用服务器消息传递

连接到谷歌云消息云连接服务器的身份验证错误