设备如何接收Android GCM推送通知?

4

最近我一直在研究安卓推送通知。我想我已经理解了整体架构和消息流程。

我把它想象成这样:

[Own server] --> [GCM] --> [Device] --> [Application]

这条路线唯一神秘的部分是[GCM]和[设备]之间。

简而言之,从[GCM]到[设备]传递消息所使用的基础设施是什么?

我在某处看过一点内容,可能设备保持着与GCM的打开连接。如果是这种情况,那么这个连接是什么类型的呢?


我认为它使用Gtalk连接。不确定iOS是否适用,但Blackberry推送的工作方式就像短信一样。 - nandeesh
http://devblog.blackberry.com/2010/03/introducing-blackberry-push-services-to-developers/ - Rince Thomas
2
在黑莓设备中:[自有服务器] -> [推送代理网关(RIM BIS或企业BES)] -> [运营商无线网络] -> [设备] -> [监听应用程序]。更多信息请参见此处:http://docs.blackberry.com/en/developers/subcategories/?userType=21&category=Push+Service。 - Mister Smith
这是针对每个平台的不同问题:Android、iOS、BlackBerry。让我们不要混淆它们。 - Michael Donohue
1个回答

2
关于CGM,Android Developers center上有很多信息。该设备保持与CGM(我认为是IP)的连接。如果服务器和设备之间没有连接,则CGM将存储传入的消息以便稍后传递。
iOS推送技术在APNS(Apple Push Notification Service)和设备之间保持IP连接(参见:wiki)。因此,它可能与GCM相同。

哦,是的,谢谢。维基百科确切地说了这个。我只是想知道,这是什么类型的IP连接?类似于TCP套接字连接吗?我猜,保持一个开放的连接可能会导致电池问题..? - Ostap Andrusiv
我对CGM找不到任何信息,但是对于APNS,我找到了这个链接:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW3。它似乎是使用二进制协议的流式TCP连接。 - Yannick Loriot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接