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 代码中的 GCM CCS 进行上游消息传递服务?