[关闭]
@lsmn 2015-06-02T22:27:03.000000Z 字数 1065 阅读 2663

GCM 3.0采用类似方式向Android、iOS和Chrome发送消息

Google GCM 消息推送


摘要

在GCM 3.0中,谷歌已经努力简化了注册过程,并使他们的云通知系统在Android、iOS和Chrome上以类似的方式工作。该版本还带来了一个新的“主题群组(topic group)”以及一个消息传递诊断工具。

正文

GCM 3.0中,谷歌已经努力简化了注册过程,并使他们的云通知系统在Android、iOS和Chrome上以类似的方式工作。该版本还带来了一个新的“主题群组(topic group)”以及一个消息传递诊断工具。

每个客户端应用会收到一个实例ID,该标示符与运行在特定设备上的应用实例相关联。实例ID在各自应用的生命周期内一直有效,直到应用从设备上卸载。消息推送由通过一个API调用生成的安全令牌进行授权。令牌如果泄露,可以进行替换。

设备组是一个非常有用的GCM特性。服务器可以在GCM上创建设备组,接收一个“通知键(notification key)”用于向整个组发送消息。设备组允许编辑,可以增加或删除客户端。一个组最多包含20台设备,适用于向属于某个用户的所有设备发送消息。客户端也可以向设备组发送消息。

GCM 3.0引入了“主题消息传递(topic messaging)”,这是一种向大量客户端发送消息的方式。应用可以创建一个或多个主题,并向每个主题注册客户端。然后,消息会针对特定主题发送,GCM会监控所有注册到该主题的客户端。通过这种方式,应用可以将消息发送给许多甚至全部客户端。

谷歌向开发者控制台添加了一个用于GCM消息诊断的工具,最多展示30条消息的状态以及每条消息的细节信息。该工具会在消息发送完成后几分钟内提供诊断信息。

这些新特性在Android、iOS和Chrome上的工作方式大致相同。在向苹果设备发送消息时有一点不同。对于iOS,应用需要连接到APNS服务器获取一个令牌,然后用它获取一个GCM令牌。至于实际的通信过程,如果应用在iOS设备的后台运行,那么GCM使用APNS发送消息,应用的行为与使用苹果的通知系统类似。但是,当应用处于活动状态时,GCM直接与应用通信,所有GCM API对iOS应用而言都是可用的,包括消息上传、多点传递、消息流,等等。

据来自谷歌方面的消息,GCM上目前大约已注册了60K个应用,每秒向15亿设备发送大约1.1M消息,2015年预计将超过25T条消息。在全球范围内,消息平均延迟50毫秒。该服务仍然免费。

谷歌I/O 2015大会(视频)提供了有关GCM 3.0的更多细节信息。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注