- 0
- 0
- 约4.66千字
- 约 9页
- 2017-11-08 发布于福建
- 举报
基于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开发者,一般是不会采用这
您可能关注的文档
- 在阅读中倾听生命拔节声音.doc
- 在高中信息技术课堂中培养学生逆向思维式能力.doc
- 在香港与纽约上市有何不同-.doc
- 在语文教学中多角度渗透思想教育.doc
- 在高职管理会计教学中融入数学建模思想探究和实践.doc
- 在重介质选煤法中如何实现减低介质耗量探究.doc
- 在高职英语教学改革中施行托业考试优势.doc
- 在鼓浪屿玩一次彻头彻尾慵懒.doc
- 在高职旅游专业开设茶艺课程实施效果研究.doc
- 在韩国见证传统成人仪式.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)