WEB开发网
开发学院手机开发Android 开发 谷歌Android如何从云端推送消息到手机 阅读

谷歌Android如何从云端推送消息到手机

 2010-08-19 13:56:00 来源:WEB开发网   
核心提示:的C2DM 服务器,用户手机上的Android 系统(2.2 以上版本)会一直监听来自 C2DM 服务器的推送消息,谷歌Android如何从云端推送消息到手机(2),当 C2DM 服务器接收到 AppEngine server 发送过来的消息,并且这个消息是发送到用户手机所绑定的 C2DM 设备注册ID 时,用户自己的
的C2DM 服务器。用户手机上的Android 系统(2.2 以上版本)会一直监听来自 C2DM 服务器的推送消息,当 C2DM 服务器接收到 AppEngine server 发送过来的消息,并且这个消息是发送到用户手机所绑定的 C2DM 设备注册ID 时,就会发送给用户手机,而手机上 Android 系统收到消息后则会发起一个 Intent broadcast(意图广播),接着跟该 Intent 对应的 Android App 被激活,再把这个 Intent 转换成相应的新 Intent 并路由到其它 Apps 上面去(比如浏览器,拨号软件,地图软件等)。

(路由路径:”Chrome to Phone” Chrome Extension(PC)-> “Chrome to Phone” AppEngine server -> C2DM server -> Android OS(Mobile) -> “Chrome to Phone” Android App -> Android Browser)

"Chrome to Phone" Chrome Extension

这里一个有趣的设计是像 URL 和标题这样轻量级的数据会附随在推送消息上,直接从 C2DM 服务器发送到手机上。URL 会使用hash编码产生一个 collapse_key 来防止重复发送。另外一个可选的方式是(也更适用于数据量较大的情况),服务器只发送简单的推送消息来激活手机上的 App,然后 App 再访问服务器获得额外的数据。

Chrome to Phone 的代码可以在网上找到。 AppEngine 和 Android App 代码都包括了一个可重用的包 com.google.android.c2dm 用于处理底层的 C2DM 交互事务 (例如配置,任务队列管理等)。

Chrome to Phone 提供了有用的功能,不过它最有趣的地方是在于提供了如何使用 Android C2DM 服务的示例。

译后语:

Google 的 Android C2DM 服务能够像 LBS 一样催生出一系列新的应用类型吗?利用从云端的服务器往手机推送消息的功能,让手机跟网络上的其它机器,包括服务器,用户自己的PC等更紧密的联系在一起,的确提供了一个智能设备跟移动互联网之间如何无缝衔接的一个范例。

读者您是怎样看待 Android C2DM 这样的服务呢?欢迎留言。

Via Android Developers

谷安——谷奥Android专题站 [http://android.google.org.cn]

上一页  1 2 

Tags:谷歌 Android 如何

编辑录入:coldstar [复制链接] [打 印]
赞助商链接