基于android 推送技术研究

基于android 推送技术研究

ID:8252877

大小:31.00 KB

页数:9页

时间:2018-03-13

基于android 推送技术研究_第1页
基于android 推送技术研究_第2页
基于android 推送技术研究_第3页
基于android 推送技术研究_第4页
基于android 推送技术研究_第5页
资源描述:

《基于android 推送技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于Android推送技术研究摘要:该文介绍了推送功能在当前流行的移动操作系统——IOS和Android上的实现原理。由于苹果公司为IOS提供了成熟且高度集成的推送解决方案,所以该文更侧重于分析Android系统上推送功能的几种实现方案,及其在不同场景下的适用范围。最后提出了一点新思路,可以在部分场景下实现高效节能的推送功能。关键词:推送;Android;IOS中图分类号:TN9292文献标识码:A文章编号:1009-3044(2013)18-4180-03在传统网络应用通信模式中,通常都是由客户端(Client)向服务器(Server)主动发起连接,进而进行数据交换,这种方式被称作Pull模

2、式。随着智能手机、移动智能终端的普及,越来越多的服务提供商使用了推送这种技术,实现服务器主动向客户端发送数据,这种方式被称为Push模式。Push模式明显比Pull模式更优越,在Pull模式中,客户端必须每隔一定的时间去检测服务器的更新,这个频繁的操作会消耗相当多的网络流量和客户端硬件资源,而Push模式则无此问题。9对于用户来说,推送技术的优点在于可以轻易的及时获取信息,而不需要自己时时关注,因为有服务提供商的推送消息提醒。对于服务提供商来说,使用推送技术可以更有力的保持用户的粘连性,比如新浪微博、微信等社交软件,用户所关注的人一旦有更新,马上就可以知道,随时互动,同时也大大提高了应用的使用

3、频率。推送技术带来的可以说是商家与客户的双赢。1推送技术的原理1.1苹果操作系统(IOS)的推送实现原理推送的概念很久以前就有,但实际上是被IOS发扬光大的。资深iPhone用户应该还记得,IOS在4.0版本以前是不支持多任务的,但是3.13版本的IOS却已经可以在后台挂QQ了,这是怎么做到的呢,答案就是推送。下图展示了IOS的推送过程。Provider:可以理解为发起推送消息的服务器,它跟客户端应用(Clientapp)相关,如iPhoneQQ消息服务器。APNS:ApplePushNotificationService,苹果推送消息服务,苹果公司官方搭建的推送服务器集群。IOS:运行在iP

4、hone上的IOS。ClientApp:IOS上的客户端应用,用来接收推送消息。无论此客户端应用是否在后台运行,它都是可以收到推送消息的。推送的工作流程如下:91)Provider把需要发送的消息和目的IOS设备标识发送给APNS。2)APNS在自身数据库中查找已注册Push服务的IOS设备标识,如找到,则将消息发送给对应的IOS设备。3)IOS接收到推送消息,再传递给对应的App,弹出推送通知。实际上就原理而言,推送并不是什么新技术;但是苹果率先把这个功能整合进了IOS,我认为这就是一个奇妙的创新。细心的用户可能会问,为什么Provider不直接发送消息给ClientApp,而要去APNS走

5、一遭呢?这就是IOS的高明之处。试想,如果Provider直接发送消息给ClientApp,那么就会如下图其中,每一个应用都必须与对应的推送消息服务器建立物理连接,如果有N个应用有推送功能,IOS里就会建立N个连接。对于一个移动终端来说,这种方式必然会增加耗电,增加网络资源消耗,同时降低了安全性。而且,在IOS4.0之前的单任务系统下,一次只能运行一个应用程序,后台挂QQ是一个不可能完成的任务。然而,如果采用苹果设计的推送服务,就会变成下图这种情况9IOS系统只需要保持一个与APNS的物理连接,然后所有的App都可以共享这一个连接来接收推送消息,由IOS负责分发这些不同的推送消息到对应的App

6、,这简直太棒了,大大节省了系统资源。要知道电力就是移动设备的生命,而且即使是单任务系统下,IOS也游刃有余,只需要在收到推送消息时,激活对应的App。1.2Android系统的推送实现原理作为与IOS分庭抗礼的移动操作系统,Android系统的推送是如何实现的呢?首先面临的问题是,Android系统上有类似于苹果APNS的服务吗?答案是有的——GoogleCloudMessaging(谷歌云推送消息服务,简称GCM)。不过可惜的是,由于Android是开源系统,许多手机厂商在为自己的产品搭载Android的时候,都会做一些去google化的深度定制开发,顺便加上自己的服务取代google的服务

7、,所以用户买到的Andoird手机,并不一定带有GCM服务(据统计市面上流行的移动Android设备大概只有20%内置此服务)。这种形势下,对于一个App开发者,一般是不会采用这种不确定的实现方案。如果不使用google的服务,似乎就只能另起炉灶自己动手丰衣足食了。1.2.1轮询方案这种方案大概是最容易想到的解决方案。轮询实际上就是传统的Pull模式,很多传统的软件也是这么实现的,比如outloo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。