Google 已经发布了 Google Cloud Messaging for Android,该服务对已被废弃的云到端消息框架 (C2DM) 做出改进,取而代之的服务无配额限制、无需注册,并提供了一套更丰富的全新接口。
GCM 提供了在应用服务器和 Android 设备之间引入代理的能力,以保障两者之间可伸缩的云通信。GCM 定义了契约,应用服务器和 Android 应用都注册 GCM 服务,Google GCM 服务器维护两者之间的通信。GCM 服务器负责处理消息队列和分发至运行在 Android 设备上的目标应用的各个方面。
GCM 还提供另一组重要特性。例如,Android 设备接收消息不再需要轮询。相反,当接收到应用服务器发送的数据时,GCM 服务器将推送数据至已注册过的设备。避免轮询延长了移动设备电池的使用时间。此外,Android 应用即使不处于运行状态也能收到来至 GCM 的消息,当消息被推送至设备时,如果符合必要的规定,就可以通过广播唤醒应用。
GCM 服务如今成为 Google 其他众多接口的一部分(例如,地图,云 SQL), 它们各自都由一个基于 Google API 控制台的项目所管理。与 Google 其他接口不同,GCM 服务没有配额限制,所以无论有多少消息、多少设备使用这项服务,都是完全免费的。
对于现有 C2DM 框架的用户来说,该服务已于 2012 年 6 月 26 日被正式弃用,所以在此日期后的任何时间点,该服务都可能被关闭,且不会另行通知。尽管 C2DM 和 GCM 无法互通,但是两个平台间的迁移很简单。已有 C2DM 到 GCM 迁移文档可以让你使用 GCM 的新特性,以及关于如何用GCM 替换C2DM 和从C2DM 迁移到GCM 的开发者的博客文章。
除了完善的GCM 技术文档以外, 网上还有许多其他的GCM 资源。Stack Overflow 上有关于GCM 内部工作方式的一系列问答。如果你正寻求从更高的角度看GCM,你可以看看Francesco Nerieri(GCM 项目经理) 在旧金山举行的2012 Google I/0 开发者大会上名为 GCM 平台为时一小时的演讲。
查看英文原文: Google Cloud Messaging for Android (GCM) Unveiled, to Replace C2DM Framework
感谢侯伯薇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论