BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Abel Avram 关注 9 他的粉丝 ,译者 谢丽 关注 11 他的粉丝 发布于 2015年6月4日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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的更多细节信息。

查看英文原文:GCM 3.0 Sends Messages to Android, iOS and Chrome

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT