基于Android 推送技术分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Android 推送技术分析

基于Android 推送技术分析   摘要:该文介绍了推送功能在当前流行的移动操作系统——IOS和Android上的实现原理。由于苹果公司为IOS提供了成熟且高度集成的推送解决方案,所以该文更侧重于分析Android系统上推送功能的几种实现方案,及其在不同场景下的适用范围。最后提出了一点新思路,可以在部分场景下实现高效节能的推送功能。   关键词:推送;Android;IOS   中图分类号:TN9292 文献标识码:A 文章编号:1009-3044(2013)18-4180-03   在传统网络应用通信模式中,通常都是由客户端(Client)向服务器(Server)主动发起连接,进而进行数据交换,这种方式被称作Pull 模式。随着智能手机、移动智能终端的普及,越来越多的服务提供商使用了推送这种技术,实现服务器主动向客户端发送数据,这种方式被称为Push模式。Push模式明显比Pull模式更优越,在Pull模式中,客户端必须每隔一定的时间去检测服务器的更新,这个频繁的操作会消耗相当多的网络流量和客户端硬件资源,而Push模式则无此问题。   对于用户来说,推送技术的优点在于可以轻易的及时获取信息,而不需要自己时时关注,因为有服务提供商的推送消息提醒。对于服务提供商来说,使用推送技术可以更有力的保持用户的粘连性,比如新浪微博、微信等社交软件,用户所关注的人一旦有更新,马上就可以知道,随时互动,同时也大大提高了应用的使用频率。推送技术带来的可以说是商家与客户的双赢。   1 推送技术的原理   1.1苹果操作系统( IOS)的推送实现原理   推送的概念很久以前就有,但实际上是被IOS发扬光大的。资深iPhone用户应该还记得, IOS在4.0版本以前是不支持多任务的,但是3.13版本的IOS却已经可以在后台挂QQ了,这是怎么做到的呢,答案就是推送。下图展示了IOS的推送过程。   Provider:可以理解为发起推送消息的服务器,它跟客户端应用(Client app)相关,如iPhone QQ消息服务器。   APNS:Apple Push Notification Service, 苹果推送消息服务,苹果公司官方搭建的推送服务器集群。   IOS:运行在iPhone上的IOS。   Client App:IOS上的客户端应用,用来接收推送消息。无论此客户端应用是否在后台运行,它??是可以收到推送消息的。   推送的工作流程如下:   1)Provider把需要发送的消息和目的IOS设备标识发送给APNS。   2)APNS在自身数据库中查找已注册Push服务的IOS设备标识,如找到,则将消息发送给对应的IOS设备。   3)IOS接收到推送消息,再传递给对应的App, 弹出推送通知。   实际上就原理而言,推送并不是什么新技术;但是苹果率先把这个功能整合进了IOS,我认为这就是一个奇妙的创新。细心的用户可能会问,为什么Provider 不直接发送消息给 Client App,而要去APNS走一遭呢?这就是IOS的高明之处。试想,如果Provider直接发送消息给Client App, 那么就会如下图   其中,每一个应用都必须与对应的推送消息服务器建立物理连接,如果有N个应用有推送功能,IOS里就会建立N个连接。对于一个移动终端来说,这种方式必然会增加耗电,增加网络资源消耗,同时降低了安全性。而且,在IOS4.0之前的单任务系统下,一次只能运行一个应用程序,后台挂QQ是一个不可能完成的任务。   然而,如果采用苹果设计的推送服务,就会变成下图这种情况   IOS系统只需要保持一个与APNS的物理连接,然后所有的App都可以共享这一个连接来接收推送消息,由IOS负责分发这些不同的推送消息到对应的App,这简直太棒了,大大节省了系统资源。要知道电力就是移动设备的生命,而且即使是单任务系统下,IOS也游刃有余,只需要在收到推送消息时,激活对应的App。   1.2 Android系统的推送实现原理   作为与IOS分庭抗礼的移动操作系统,Android系统的推送是如何实现的呢?   首先面临的问题是,Android系统上有类似于苹果APNS的服务吗?答案是有的——Google Cloud Messaging(谷歌云推送消息服务,简称GCM)。不过可惜的是,由于Android是开源系统,许多手机厂商在为自己的产品搭载Android的时候,都会做一些去google化的深度定制开发,顺便加上自己的服务取代google的服务,所以用户买到的Andoird手机,并不一定带有GCM服务(据统计市面上流行的移动Android设备大概只有20%内置此服务)。这种形势下,对于一个App开发者,一般是不会

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档