随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

Android推送

一、推送简介

什么是手机推送服务?

     手机推送服务是指服务器定向将信息实时送达手机的服务。与常见的轮询方式(伪推送)相比区别主要在于两点,一是否长联网,二是到达实时性。推送服务是长联网的一般到达手机的延迟在0.1-0.5秒左右,而轮询方式(伪推送)不是长联网的,达到延迟时间则根据轮询时间的不同为1-10分钟,也有延迟1小时或一天的情况。一般来说,自黑莓苹果安卓采用标准长联网推送方式后,手机推送服务就特指能够实时到达的形式。

手机推送原理 ?

      手机推送服务的原理很简单,就是通过建立一条手机与服务器的连接链路,当有消息需要发送到手机时,通过此链路发送即可。推送服务的使用流程虽然略有差别但是大致都和IOS的APNS相似

  1、首先是应用程序注册消息推送。 

  2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。

  3、应用程序将deviceToken发送给PUSH服务端程序。

  4、 服务端程序向APNS服务发送消息。

  5、APNS服务将消息发送给iPhone应用程序。

二、Android中的推送方式比较  

Android 推送实现方式

  方案1、使用C2DM服务(Google Cloud Messaging) 

  简介:Google推出的云消息服务,即第二代的G2DM。 

  优点:Google提供的服务、原生、简单,无需实现和部署服务端。 

  缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。 

  方案2、使用XMPP协议(Openfire + Spark + Smack)

  简介:基于XML协议的通讯协议,前身是Jabber,目前已由IETF国际标准化组织完成了标准化工作。

  优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。 

  缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。 

  方案3、使用MQTT协议 

  简介:轻量级的、基于代理的“发布/订阅”模式的消息传输协议。 

  优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域,且已有C++版的服务端组件rsmb。

  缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。 

  方案4、使用第三方推送服务

  简介:通过嵌入SDK使用第三方提供的推送服务,目前主流的有 个推,PUBNUB,蝴蝶等。

  优点:稳定,成熟,节省开发和探索时间,相对自己开发成本低,推送管理界面及统计程序完善。 

  缺点:有程序嵌入顾虑

 

posted on   飘杨......  阅读(390)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2012年10月 >
30 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示