设备如何接收 Android GCM 推送通知?
Posted
技术标签:
【中文标题】设备如何接收 Android GCM 推送通知?【英文标题】:How does device receive Android GCM push notification? 【发布时间】:2012-09-06 08:10:15 【问题描述】:我最近一直在研究 android 推送通知。我想,我了解整体架构和消息流。
我想是这样的:
[Own server] --> [GCM] --> [Device] --> [Application]
路线中唯一神秘的部分是 [GCM] 和 [Device] 之间。
长话短说,使用什么基础架构将消息从 [GCM] 传递到 [Device]?
我在某处读到了一些信息,可能是设备保持与 GCM 的打开连接。如果是这种情况,打开什么样的连接?
【问题讨论】:
我认为它使用Gtalk connection。不确定ios,但黑莓推送就像短信一样 devblog.blackberry.com/2010/03/… 在黑莓手机中:[Own server] -> [Push Proxy Gateway (RIM BIS or corporate BES)] -> [carrier wireless network] -> [Device] -> [listener App]
。更多信息在这里:docs.blackberry.com/en/developers/subcategories/…
这是针对每个平台的不同问题:Android、iOS、黑莓。我们不要把这一切都搞混了。
【参考方案1】:
Android Developers center 上有很多关于 CGM 的信息。 该设备保持与 CGM 的连接(我认为是 IP)。如果服务器和设备之间没有连接,CGM 将存储传入的消息以供稍后传递。
iOS 推送技术在 APNS(Apple 推送通知服务)和设备之间保持开放的 IP 连接(参见:wiki)。因此,它可能与 GCM 明显相同。
【讨论】:
哦,是的,谢谢。维基就是这么说的。我只是想知道,这是什么样的IP连接? TCP Socket连接的排序?我想,保持开放连接可能会导致电池问题..? 我没有找到关于 CGM 的任何信息,但对于 APNS,我发现了这个:developer.apple.com/library/ios/#documentation/…。它似乎是使用二进制协议的流式 TCP 连接。以上是关于设备如何接收 Android GCM 推送通知?的主要内容,如果未能解决你的问题,请参考以下文章
从 Android gcm 服务器接收重复的推送通知 [关闭]