百度云推送的机制和特点:
1.单播消息推送
描述
开发者向应用的特定终端或特定用户推送消息。 特定终端对于应用来说,就是安装了应用的一台具体的设备。 而一个用户可能有多个端,在某些应用场景下,我们希望消息是针对用户的——应用的同一个用户在他的所有终端上都能收到消息,这时候我们就需要向特定用户推送消息。
解决思路
(1)向应用的特定终端推送消息
一个channel id指定一个终端,因此在这种需求下,开发者需要通过服务端API,向一个特定channel id推送消息。在推送之前,客户端应用通过绑定接口的返回值获取到channel id,并通过网络等手段发送给开发者,开发者需自行维护channel id。
例如,Android客户端,在调用了startWork之后,自定义消息 receiver将会收到返回值,其中包含了channel id、user id等信息。
(2)向应用的特定用户推送消息
云推送用user id来表示用户,因此在这种需求下,开发者需要通过服务端API,向一个特定user id推送消息。和channel id获取方式类似,客户端应用通过绑定接口的返回值获取到user id。开发者需要自行维护user id。
应用场景举例
在线问答应用。用户A用手机发表一个问题,问题的解答并不是实时的。假设在第二天用户B发表了第一个解答,这时需要将答案单独推送给A。
解决方案
用户A发表问题时,记录问题id及其对应的A的user id(或channel id)。用户B发表解答时,通过服务端API向问题id对应的user id(或channel id)推送解答。
2.用户分组的消息推送
描述
开发者向应用的符合特定分类条件的若干用户的集合推送消息。广播是分组推送的特例,它向应用的所有用户(同时也是所有端)推送消息。
解决思路
云推送通过Tag(标签)这种技术方式来实现用户分组的功能。例如,对于分类信息的应用,一个用户观看了体育栏目,就给该用户打一个Tag——sport。6月的某一天NBA总决赛热火夺冠了,则向sport这个Tag推送一条及时的夺冠新闻。
应用场景举例
阅读应用。对不同阅读喜好的人群推送不同类别的新图书广告。
解决方案
应用提供喜好设置页面,用户勾选不同的类别,触发对应Tag的设置。或者用户阅读了某个类别的图书,触发对应Tag的设置。在服务端,给特定类别图书的Tag推送新书广告。
3.使用自己的账户系统或百度账户
描述
开发者可以使用自己的账户体系开发应用,或者应用就是无账户的。开发者也可选择使用百度账户作为应用账户系统的接入。
解决思路
(1)使用自己的账户系统或者无账户系统
这两种情况,云推送都是无法理解账户信息的,所以对于云推送来说都属于无账户体系。 云推送通过终端标识(channel id)和应用标识(APIKey)来唯一确定一个应用的一个特定端。应用的每个端都是不同的用户,拥有不同的user id。 客户端的绑定方式,用Android API举例:
PushManager.startWork(Context, LOGIN_TYPE_API_KEY, apiKey)
(2)使用百度账户系统
云推送和百度账户系统是连通的,应用的所有用户将使用百度的user id作为唯一标识。不同的端使用同一个用户百度账户登录,获得的user id是一样的。这种方式可以实现对用户的多个端做消息推送。 百度账户的客户端绑定使用用户AccessToken作为验证凭证,用户AccessToken的获得需要百度账户登录界面的辅助,具体使用可以参看客户端SDK demo或者百度账号连接官方文档。 同样的,客户端的绑定方式,用Android API举例:
PushManager.startWork(Context, LOGIN_TYPE_ACCESS_TOKEN, UserAccessToken)
(2) 百度账号连接官方文档
4.单服务单通道的端上实现
云推送的Android SDK,是通过后台service和socket长连接机制来实现的。从消息时效性、耗电量、网络流量等因素考虑,这是目前最好的实现方式。
在同一台设备安装了多个使用推送的应用的情况下,如果每个应用都执行独立的后台service,且各自建立独立的长连接,这无疑是系统资源的巨大浪费。内存使用、耗电量、网络流量等关键因素都将以接近与应用数正比的倍数增长。
在这个背景下,云推送实现了单服务单通道的机制。同一台设备上,云推送服务的资源消耗不受集成该服务的应用数量影响。任何时刻,只会运行一个后台service和维持一个socket长连接。
应用的初始化、tag等接口调用,将通过intent方式发送到后台运行的service处理。service接收到推送消息时,将根据消息中指定 的发送对象,通过intent,以指定目标应用包名的方式,发送私有消息给应用。应用无法接收到不属于自己的消息,也无法通过冒充截获。
示意图:
极光推送机制和特点:
极光推送正是一个整合了Android推送、iOS推送的统一推送服务平台。作为国内最专业的第三方移动消息推送服务提供商,极光推送目前正为数千 企业和开发者提供稳定的毫秒级送达移动消息推送方案,已经覆盖了上亿 Android和 iPhone终端。目前积累应用开发者超过10000个,累计接入应用超过12000个。覆盖独立终端突破1亿8000万台。日活跃推送用户超过4000 万。根据统计数据,有效使用极光推送能够在3个月内提升App留存率 100%, 提升App活跃度更是高达 500%。而实现这些提升,开发者只需要花费3分钟进行SDK集成,大大降低了开发者的独立开发和维护推送功能的难度。 http://docs.jpush.cn官方wiki文档有SDK集成指南 API描述及代码示例。极光推送会通过blog分享推送相关技术。专门的问答系统,开发者可以提问一切有关使用极光推送产品的问题。
极光推送提供了哪些功能
推送通知
使你的应用程序保持高注意力
即使用户没有打开应用程序,也能够推送通知到达用户手机。您可以即时向用户推送活动提示、动态更新、积分信息等通知。
推送自定义消息
强大的自定义消息推送通道
开发者可以推送自定义的消息内容。JPush SDK 把内容完全转给开发者应用程序,由开发者应用程序去处理自定义消息。
管理和推送WebPortal
灵活地根据需要定制推送服务
管理Portal上的推送助手,方便快速推送,普通用户都可操作。
服务器端API
极光推送提供了基于HTTP协议的推送API,API包含全部的推送功能,开发者完全可以基于此API开发独立的推送页面或者将推送功能集成到现有的管理系统内。
统计图表
推送效果直观呈现
推送到达了多少?到达后,用户有没有点击打开应用?打开应用后,用户逗留的时间有没有延长?直观的对比图表,让你轻松地评估推送效果。
极光推送的应用场景
极光推送按照接受者范围的不同提供了广播,标签,别名,IMEI(Android Only)四种推送方式,不同的使用场景和开发者可以根据业务需求,
广播
按标签(tag)推送
按别名(alias)推送
按IMEI推送(Android Only)
定时推送
百度云推送与极光推送各自的优势是什么?
极光推送功能优势:
1、高效稳定的推送通知
为合作伙伴提供长连接SDK,开发者的服务消息可以推送到其客户端。使你的应用程序保持高注意力,即使用户没有打开应用程序,也能够推送通知到达用户手机。您可以即时向用户推送活动提示、动态更新、积分信息等通知。100万并发量不超过40秒,水平服务器架构,任何单点失效都并不会影响推送。
2、自由度高,推送自定义消息。
强大的自定义消息推送通道。开发者可以推送自定义的消息内容。JPush SDK 把内容完全转给开发者应用程序,由开发者应用程序去处理自定义消息。
3、灵活推送工具
灵活地根据需要进行推送。管理Portal上的推送助手,方便快速推送,普通用户都可操作。另外也提示API调用方式,灵活强大。
4.推送平台技术架构先进,经过考验的大规模用户 Push 平台
由于之前开发过IM应用,极光在消息推送业务上有丰富的技术沉淀期,并且不断地优化系统,满足快速的业务增长。
免费推送服务
推送的用户数量没有限制,推送的消息条数也没有限制。
方便集成的SDK及良好的文档和技术支持体系
android 3分钟demo
ios 简单配置
客户端SDK以非常低的代价保持连接,电量、流量消耗少。
推送内容的多少是由开发者决定的,网络状况不稳定也会对电量造成影响。在不考虑推送的内容和网络影响前提下。理论数据平均值为:流量消耗 20K/天,电量消耗 30mAh/天
5、专业图表、推送精准化
推送效果直观呈现。推送到达了多少?到达后,用户有没有点击打开应用?打开应用后,用户逗留的时间有没有延长 ? 直观的对比图表,让你轻松地评估推送效果。
这是极光推送应用后的数据趋势图:
极光推送,整合无序的app推送市场
云推送平台具备的优势
高安全性
平台在服务端与SDK进行通讯时进行了数据加密,保证客户数据的隐私安全。同时,个推平台还支持客户对传输数据自主加密,满足高安全性客户的需求。
高可靠性
平台服务器部署在IDC核心机房,三线接入,保证不同运营商移动设备接入的稳定性。个推平台采用分布式架构部署,不仅系统容量可灵活扩容,还可以提供99.9% SLA。个信专业的运维团队维护,消息到达率超过96%。
低成本
平台专注推送服务领域的研究,单台设备支持100-300万用户在线(根据单台设备配置会有波动),平均成本控制业界领先。
出乎意料的快速,瞬间送达
平台的消息投递延时小于0.2s,无论何时何地,用户移动设备有网络即可送达。
专为手机优化,省电省流量
平台采用自主研发的独有协议,比XMPP更适合移动设备使用,符合4S标准(小巧、省电、省流量、稳定)。实测移动设备空载耗电每日15-50mAh,空载流量0.8-1.2M/月。