Android 服务器推送技术.docx
《Android 服务器推送技术.docx》由会员分享,可在线阅读,更多相关《Android 服务器推送技术.docx(9页珍藏版)》请在第壹文秘上搜索。
1、在开发Android和iPhone应用程序时,我们往往须要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简洁的和完备的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的探讨.在Android手机平台上,GOOgIe供应了C2DM(CloudtoDeviceMessaging)服务,起初我就是打兑采纳这个服务来实现自己手机上的推送功能.AndroidCloudtoDeviceMessaging(C2DM)是一个用来帮助开发者从熊务甥向Android应用程序发送数据的根务.该般务供应了T简洁的.轻
2、量级的机制,允许服务黑可以通知移动应用程序干盥与殿务溺进行通信以便于从皴务器获得应用程序更新和用户数据.C2DM微务负责处理诸如消息排队等事务并向运行于目标设备上的应用程序分发这些消显但是经过一番探讨发觉,这个服务存在很大的问画:1 )C2DM内音于Android的2.2系统上,无法兼容老的1.6到2.1系统;2 )C2DM须要依靠于Ggle官方供应的C2DM服务器,由于国内的网络环境,这个服务常常不行用,假如想要很好的运用,我们的AppServer必需也在国外,这个唯恐不是每个开发者都能够实现的;有了上述两个运用上的制约,导致我最终放弃了这个方案,不过我想利用另外一篇文童来具体的介绍C2DM
3、的框架以及客户端和AppServer的相应设置方法,可以作为学习与参考之用.即然C2DM无去满意我们的要求那么我们就碰自己来实现Android手机客户端与APPServer之间的通信协议,保证在AppServer想向指定的Android设备发送消息时,Android设备能够刚好的收到,下面我来介绍几种常见的方案:1)轮询:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必需自己实现与服务器之间的通信,例如消息排队等.而且你还要考虑轮询的频率,假如太慢可第导致某些消息的延迟,假如太快,则会大量消耗网络带宽和电池.2 )SMS:在Android平台上,你可以通过拦被SMS消息并且解
4、析消息内容来了解服务溺的意图。这是一个不错的想法,我就见过采纳这个方案的应用程序。这个方案的好处是,可以实现完全的实时操作,但是问题是这个方案的成本相对比较高,你很难找到免到的短消息发送网关,关于这个方案的实现,可以参考如下链接:.3 )f久连接这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池.Apple的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的.不过这个方案也存在不足,就是我很难在手机上实现一个牢克的服务。Android操作系统允许在低内存状况下杀死系统服外,所以你的通知服务很可能被麋作系统K川掉了.前两个方案存在明
5、显的不足,第三个方案也有不足,不过我们可以通过良好的设计来弥!卜,以便于让该方案可以有效的工作.终归,我们要知道GMaiI.GTaIk以及GoogIeVoice都可以实现实时更新的.MQTT是f轻贵级的消息发布/订阅协议,它是实娓于手机客户迷的消息推送限若器的志向解决方案.我们可以从这早下载该项目的实例代码,并且可以找到一个采纳PHP书写的眼务器该实取架构如下所示:App1.ayerServer1.ayerReollySmallfnea9eBroker个SAfnPHPlibraryend-mqU.hWmqttJar是IBM供应的MQTT协议的实现,你可以从如下站点下载它.你可以将该jar包加入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 服务器推送技术 服务器 推送 技术