Android 服务器向客户端推送方案

jopen 10年前

1.C2DM(现在是GCM

Android Cloud to Device Messaging (C2DM) 作为 Android 2.2 的一部分已经发布了。C2DM 允许第三方开发者开发相关的应用来推送少量数据消息(1024bytes)到用户的手机上。C2DM 创造了一个良好的机会,允许我们使用多种 Google 开发工具来创建一种简单但相当实用的应用类型。用户可以使用该类型的应用把各种各样的信息从他们的台机或者笔电直接 push 到自家的手机上。C2DB已经过时·C2DM服务将在短期内结束,将不再接受新用户·c2dm开放人员请用Google Cloud Messaging (GCM).GCM是下代C2DM.因为目前国内无法使用Google服务,所以了解一下就好。
2.使用XMPP协议(Openfire + Spark + Smack)
简介:基于XML协议的通讯协议,前身是Jabber,目前已由IETF国际标准化组织完成了标准化工作。
优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。
缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。

      3、使用MQTT协议(更多信息见:http://mqtt.org/
简介:轻量级的、基于代理的“发布/订阅”模式的消息传输协议。
优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域(参考:http://mqtt.org/software),且已有C++版的服务端组件rsmb。
缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。
4.androidpn 
androidpn 全称是 Android Push Notification。
这是韩国人开源放在 sourceforge.net 上的一个开源项目。

androidpn 是一个整合方案,它是基于 XMPP 开源组件的 。即服务器端基于 Openfire,客户端基于 Smack ,这二个是 XMPP 开源组件里最常见的两个。androidpn使用Spring框架做了个Web层,把XMPP IM组件集成起来,以实现Android Push功能。因此,androidpn的可用性来自于如下几个方面:

1.其依赖的XMPP IM协议与通讯机制,是否适合用于Android Push场景。

2.其是否为Android Push需求做了必要的定制。

使用androidpn可以简单地做到:把消息推送到客户端。但是,要使其适合开发者需要,并在生产环境上运行,则可能需要做很多定制开发工作。从笔者与多个开发者交流得到的反馈来看,在生产环境里运行起来问题很多。
5.极光推送
极光推送,英文简称 JPush,是一个面向普通开发者开放的,免费的第三方消息推送服务。

轻量级的客户端SDK

开发者只需在客户端集成极光推送 SDK,即可轻松地添加 Push功能到他的 App中。目前支持 Android 与 iOS

稳定的云推送服务

开发者可以在管理Portal上快捷地向用户推送消息,也可以定制推送的时间、用户群、位置等。还提供远程推送 API。

清晰的推送效果分析图表

开发者可以在管理Portal上查看推送统计信息,直观地评估推送效果。
极光推送服务具有如下的优势:
1)完全开放注册,免费向所有的开发者开放使用
2)SDK流量电量消耗很少
3)集成简单,很快就能够集成跑起来
4)服务器端推送并发量支持大、延迟小

   6.百度推送

云推送(Push)是百度开放云向开发者提供的消息推送服务;通过利用云端与客户端之间建立稳定、可靠的长连接来为开发者提供向客户端应用推送实时消息服务。

百度云推送服务支持三种推送类型:通知、消息及富媒体;支持向所有用户、根据标签分类向特定用户群体、向单个用户和基于地理位置推送消息;支持更多自定义功能(如自定义内容、后续行为、样式模板等);提供用户信息及通知消息统计信息,方便开发者进行后续开发及运营。

7.个推送

个推平台专注提供移动设备长连接SDK和服务端接入的整体解决方案。目前个推平台主要提供两种服务模式,消息群发模式,提供群发管理后台,满足消息群发需求;业务整合模式,提供服务端API接口,可以与客户已有业务系统深度整合。


百度云推送,极光推送和个推各自的优势是什么?

极光推送功能优势:

1、高效稳定的推送通知

为合作伙伴提供长连接SDK,开发者的服务消息可以推送到其客户端。使你的应用程序保持高注意力,即使用户没有打开应用程序,也能够推送通知到达用户手机。您可以即时向用户推送活动提示、动态更新、积分信息等通知。100万并发量不超过40秒,水平服务器架构,任何单点失效都并不会影响推送。

2、自由度高,推送自定义消息。

强大的自定义消息推送通道。开发者可以推送自定义的消息内容。JPush SDK 把内容完全转给开发者应用程序,由开发者应用程序去处理自定义消息。

3、灵活推送工具

灵活地根据需要进行推送。管理Portal上的推送助手,方便快速推送,普通用户都可操作。另外也提示API调用方式,灵活强大。

4.推送平台技术架构先进,经过考验的大规模用户 Push 平台

由于之前开发过IM应用,极光在消息推送业务上有丰富的技术沉淀期,并且不断地优化系统,满足快速的业务增长。

免费推送服务

推送的用户数量没有限制,推送的消息条数也没有限制。

方便集成的SDK及良好的文档和技术支持体系

android 3分钟demo

ios 简单配置

客户端SDK以非常低的代价保持连接,电量、流量消耗少。

推送内容的多少是由开发者决定的,网络状况不稳定也会对电量造成影响。在不考虑推送的内容和网络影响前提下。理论数据平均值为:流量消耗 20K/天,电量消耗 30mAh/天

5、专业图表、推送精准化

推送效果直观呈现。推送到达了多少?到达后,用户有没有点击打开应用?打开应用后,用户逗留的时间有没有延长 ? 直观的对比图表,让你轻松地评估推送效果。

这是极光推送应用后的数据趋势图:


云推送平台具备的优势

高安全性

平台在服务端与SDK进行通讯时进行了数据加密,保证客户数据的隐私安全。同时,个推平台还支持客户对传输数据自主加密,满足高安全性客户的需求。

高可靠性

平台服务器部署在IDC核心机房,三线接入,保证不同运营商移动设备接入的稳定性。个推平台采用分布式架构部署,不仅系统容量可灵活扩容,还可以提供99.9% SLA。个信专业的运维团队维护,消息到达率超过96%。

低成本

平台专注推送服务领域的研究,单台设备支持100-300万用户在线(根据单台设备配置会有波动),平均成本控制业界领先。

出乎意料的快速,瞬间送达

平台的消息投递延时小于0.2s,无论何时何地,用户移动设备有网络即可送达。

专为手机优化,省电省流量

平台采用自主研发的独有协议,比XMPP更适合移动设备使用,符合4S标准(小巧、省电、省流量、稳定)。实测移动设备空载耗电每日15-50mAh,空载流量0.8-1.2M/月。

个推平台具备的优势

高安全性

个推平台在服务端与SDK进行通讯时进行了数据加密,保证客户数据的隐私安全。同时,个推平台还支持客户对传输数据自主加密,满足高安全性客户的需求。

高可靠性

个推平台服务器部署在IDC核心机房,三线接入,保证不同运营商移动设备接入的稳定性。个推平台采用分布式架构部署,不仅系统容量可灵活扩容,还可以提供99.9% SLA。个信专业的运维团队维护,消息到达率超过96%。

低成本

个推平台专注推送服务领域的研究,单台设备支持100-300万用户在线(根据单台设备配置会有波动),平均成本控制业界领先。

出乎意料的快速,瞬间送达

个推平台的消息投递延时小于0.2s,无论何时何地,用户移动设备有网络即可送达。

专为手机优化,省电省流量

个推平台采用自主研发的独有协议,比XMPP更适合移动设备使用,符合4S标准(小巧、省电、省流量、稳定)。实测移动设备空载耗电每日15-50mAh,空载流量0.8-1.2M/月。

易于实施

个推平台移动设备SDK集成半天即可完成,使用推送管理后台,当天即可零开发群发消息。同时,个推平台也提供完善成熟的服务API可以与客户已有业务系统紧密结合。

强大的分析报表

个推平台可以提供应用的留存用户,在线用户等核心数据,并会不定期提供行业数据分析报告及客户的行业排名指数。对于消息投递到用户后的访问行为,个推平台也会提供精准的效果评估报告。

来自:http://blog.csdn.net/rain_butterfly/article/details/23697121