论坛首页 移动开发技术论坛

Google应用在Android上的Push机制以及C2DM框架的底层实现

浏览 21854 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-02-07   最后修改:2011-02-09
GMS (Google Mobile Applications)在Android平台使用了Push机制, 所以有更好的用户体验:当服务器上有你的新的的Gmail邮件, 或者有新的Calendar Events, 或者有新的Contact, 你的Android总会第一时间知道, 并且会自动sync下来. 这里用到的就是Push机制. Google在Android上的Push机制利用的就是XMPP协议, 再加上Android上的GTalk客户端也是利用XMPP协议, 所以底层用的是同一个XMPP框架, 协议的实现是开源的Smack.

在Android 2.2版本FroYo之前, Google的Push机制直接就是利用XMPP协议的extension,也就是在<message>元素下加入自定义的子元素, 但自从FroYo, Android引入了一个新的框架C2DM(Cloud to Device Messaging), 而Google的Pushing 机制变成使用C2DM框架. 那C2DM框架的原理是什么呢? XMPP! 所以, C2DM只不过是在XMPP协议基础上的一套机制, 一个标准API而已.

在后面的时间, 我会陆续把Android上的Sync框架,GMS的Push机制, 以及C2DM的实现介绍一下, 我想以时序图的形式效果会更好.

2011.02.09 Update
增加关于Google Push机制以及C2DM实现的具体介绍
http://mysupebaby.iteye.com/blog/902054
   发表时间:2011-02-08  
这个不错,非常期待,不过我更感兴趣的是是否可以自己调用发生push,当然自己有服务器,在不基于C2DM的基础上,因为不是所有人都是2.2的系统
0 请登录后投票
   发表时间:2011-02-08  
sunburst 写道
这个不错,非常期待,不过我更感兴趣的是是否可以自己调用发生push,当然自己有服务器,在不基于C2DM的基础上,因为不是所有人都是2.2的系统


当然可以利用XMPP任意实现自己的Push机制, 如果有自己的XMPP服务器的话.
0 请登录后投票
   发表时间:2011-02-09  
正好要学习相关知识,期待中。。。。。
0 请登录后投票
   发表时间:2011-02-09  
大哥,我在等下文。。。可别光说不练
0 请登录后投票
   发表时间:2011-02-09  
期待下文。。。
0 请登录后投票
   发表时间:2011-02-09  
archy123 写道
大哥,我在等下文。。。可别光说不练


等上班后吧, 在家里杂事太多, 静不下心研究的那么细...
0 请登录后投票
   发表时间:2011-02-09  
push技术相当有前途,期待楼主下文。
0 请登录后投票
   发表时间:2011-02-09  
2011.02.09 Update
增加关于Google Push机制以及C2DM实现的具体介绍
http://mysupebaby.iteye.com/blog/902054

赶时间匆匆写了一篇, 免得大家等.
0 请登录后投票
   发表时间:2011-02-11  
期待楼主完整版,最近也在研究这部分~
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics