一、推送简介
什么是手机推送服务?
手机推送服务是指定向将信息实时送达手机的服务。与常见的轮询方式(伪推送)相比区别主要在于两点,一是否长联网,二是到达实时性。推送服务是长联网的一般到达手机的延迟在0.1-0.5秒左右,而轮询方式(伪推送)不是长联网的,达到延迟时间则根据轮询时间的不同为1-10分钟,也有延迟1小时或一天的情况。一般来说,自,和采用标准长联网推送方式后,手机推送服务就特指能够实时到达的形式。
手机推送原理 ?
手机推送服务的原理很简单,就是通过建立一条手机与的连接,当有消息需要发送到手机时,通过此链路发送即可。推送服务的使用流程虽然略有差别但是大致都和的APNS相似
1、首先是应用程序注册消息推送。
2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。
3、应用程序将deviceToken发送给服务端程序。
4、 服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给应用程序。
二、Android中的推送方式比较
Android 推送实现方式
方案1、使用服务(Google Cloud Messaging)
简介:推出的云消息服务,即第二代的G2DM。
优点:Google提供的服务、原生、简单,无需实现和部署服务端。
缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。
方案2、使用协议(Openfire + Spark + Smack)
简介:基于协议的通讯协议,前身是,目前已由IETF国际标准化组织完成了标准化工作。
优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的版的开发实例androidpn。
缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。
方案3、使用MQTT协议
简介:轻量级的、基于代理的“发布/订阅”模式的消息传输协议。
优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域,且已有C++版的服务端组件rsmb。
缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。
方案4、使用第三方推送服务
简介:通过嵌入使用第三方提供的推送服务,目前主流的有 ,PUBNUB,蝴蝶等。
优点:稳定,成熟,节省开发和探索时间,相对自己开发成本低,推送管理界面及统计程序完善。
缺点:有程序嵌入顾虑