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 2012-10-19 14:38  飘杨......  阅读(388)  评论(1编辑  收藏  举报