顾名思义,厂商推送指的就是手机硬件厂商提供的系统级别的推送服务。由于她是系统服务,随手机开机后她就一直存在着,有效地保证了推送通道的高可用性。在网络畅通和推送消息内容合法的状况下,经过厂商通道推送消息给该型号手机,不论应用是否存活,都保证消息推送到位,因此为了拉活、促新、留存,咱们绝对不能错过她们------厂商推送,消息高效触达的保障。另外文末有捷径哦安全
为开发者提供的消息推送服务,创建了从云端到手机端的消息推送通道,为开发者提供想客户端应用实时推送消息的服务,使应用能够将最新信息及时通知用户,从而构筑良好的用户关系,提高用户的感知和活跃度。服务器
关于应用推送,相信做为开发者都知道有不少方式进行实现(各大推送SDK)。不一样的推送SDK,产生了多种多样的推送支持服务,实现方式也有差别。随着Google对推送的规范,手机厂商也提供了一套推送服务,经过系统推送服务,让推送更安全可靠。网络
有了这么多推送SDK,到底要选哪种?app
A:我一直在用某某推送SDK,用习惯了,继续用吧,效果挺好的。优化
B:手机厂商既然提供了系统推送服务,推送达到了更高,更安全可靠,我选手机厂商的。google
……spa
选择哪种,适合本身最重要,萝卜白菜各有所爱嘛~接口
华为推送图片 |
小米推送ci |
魅族推送 |
OPPO推送 |
FCM推送 |
第三方推送… |
这里列举了手机厂商通道推送服务和第三方推送,关于第三方推送就不过多介绍了,主要分析对比手机厂商推送。
|
Android |
iOS |
其余平台 |
华为推送 |
支持(华为手机和非华为手机) |
不支持 |
不支持 |
小米推送 |
支持(小米手机和非小米手机) |
支持 |
Unity |
魅族推送 |
支持(仅魅族手机flyme系统) |
不支持 |
不支持 |
OPPO推送 |
支持(仅OPPO手机系统(ColorOS)) |
不支持 |
不支持 |
FCM推送 |
支持(google服务的手机) |
支持 |
网页、Unity |
|
通知栏消息 |
透传消息 |
华为推送 |
支持(统一系统管理,点击拉起应用) |
支持 |
小米推送 |
支持(统一系统管理,点击拉起应用) |
支持 |
魅族推送 |
支持(统一系统管理推送服务,应用本身管理消息) |
支持 |
OPPO推送 |
支持(统一系统管理,点击拉起应用) |
不支持 |
FCM推送 |
支持(统一google服务管理,点击拉起应用) |
支持 |
|
全量推送 |
单一设备 |
别名 |
标签 |
华为推送 |
不支持 |
支持 |
不支持 |
不支持 |
小米推送 |
支持 |
支持 |
支持 |
支持 |
魅族推送 |
支持 |
支持 |
支持 |
支持 |
OPPO推送 |
支持 |
支持 |
不支持 |
不支持 |
FCM推送 |
支持 |
支持 |
不支持 |
支持 |
异同:
小米:
1.同一应用前提下,设置别名是惟一的,同一个别名不能对应多个RegID,alias对应的设备以最后一次setalias对应的设备为准。(使用场景:单点登陆)
2.支持useraccout进行推送,一个user account可对应20台之内的设备。(使用场景:单帐号多点登陆同时接收消息)
3.订阅标签无上限,别名长度不要求
魅族:
1.同一个别名能够对应多个设备
2.别名不能超过20个字符
3.标签限额100个
OPPO:
1.全量推送范围是前一天以及更早的注册设备
2.单一设备推送是注册成功的设备,不受是不是前一天的注册限制
FCM推送:
1.订阅标签无上限
|
打开应用 |
打开指定界面 |
打开网页 |
华为推送 |
支持 |
不支持 |
支持 |
小米推送 |
支持 |
支持 |
支持 |
魅族推送 |
支持 |
支持 |
支持 |
OPPO推送 |
支持 |
支持 |
支持 |
FCM推送 |
支持 |
不支持 |
不支持 |
|
声音 |
震动 |
呼吸灯 |
华为推送 |
默认系统提示音 |
默认系统提醒方式 |
默认系统提醒方式 |
小米推送 |
支持自定义 |
支持是否震动 |
支持是否点亮呼吸灯 |
魅族推送 |
默认系统提示音 |
支持是否震动 |
支持是否点亮呼吸灯 |
OPPO推送 |
默认系统提醒方式 |
默认系统提醒方式 |
默认系统提醒方式 |
FCM推送 |
默认系统提示音 |
支持是否震动 |
支持是否点亮呼吸灯 |
|
定时推送 |
离线推送 |
定时展现 |
可网络设置推送 |
定速推送 |
华为推送 |
支持 |
未说明 |
支持 |
不支持 |
不支持 |
小米推送 |
支持(将来30天内任意时间做为消息下发时间) |
支持(最大有效时长14天) |
支持 |
支持 |
不支持 |
魅族推送 |
支持 |
支持 |
支持 |
不支持 |
支持 |
OPPO推送 |
支持 |
支持(最大有效时长72小时) |
支持 |
支持(可选仅在WiFi网络下推送) |
支持 |
FCM推送 |
支持 |
支持(最大有效时长28天) |
不支持 |
不支持 |
不支持 |
|
国内 |
国外 |
华为推送 |
支持 |
部分国家 |
小米推送 |
支持 |
支持 |
魅族推送 |
支持 |
几个国家 |
OPPO推送 |
支持 |
不支持 |
FCM推送 |
不太友好 |
支持 |
|
富媒体 |
华为推送 |
支持表格、图片、音频、链接地址等 |
小米推送 |
支持长文本和大图 |
魅族推送 |
支持长文本和大图 |
OPPO推送 |
不支持 |
FCM推送 |
不支持 |
|
推送频率限制 |
华为推送 |
默认3000条/秒,如需调整,联系华为客服 |
小米推送 |
默认每秒3000条,支持平缓推送(每秒1000~ 100000条消息),对推送频率目前无限制 |
魅族推送 |
1.单个业务在平台或 API 进行推送有速率限制,默认应用是 500 条/秒,若是超过此速率 能够联系魅族进行调整 2.单个业务天天在平台或 API 进行任务推送有次数限制,默认是 1000 条/天 3.单个设备单个业务 1 分钟内推送超过 5 条会被折叠(只保存最新的消息,可配置) 4.一个 IP 地址每小时请求 API 接口有次数限制(可配置) 5.单个业务天天累计请求 API 接口有次数限制(可配置) 6.单个业务天天推送的消息总量有限制(可配置) 7. |
OPPO推送 |
对新接入的APP,有最低保护阈值,即当天最低可推送量为10000 |
FCM推送 |
官方未说明 |
|
接收到通知时 |
点击通知栏通知时 |
华为推送 |
客户端无感知 |
回调客户端 |
小米推送 |
回调客户端 |
回调客户端 |
魅族推送 |
回调客户端 |
回调客户端 |
OPPO推送 |
客户端无感知 |
客户端无感知 |
FCM推送 |
应用前台时回调客户端,后台时客户端无感知 |
客户端无感知,可在应用首页经过Intent获取相关信息 |
华为推送:
1.目前调用一次接口,最多支持1000个deviceToken
2.接入新版push,需更新华为移动服务
3.非华为手机可使用华为Push服务,但须要安装华为移动服务,而且不经过系统PUSH,效果没有华为手机上好
小米推送:
1.支持通知分类,相同通知分类消息会存在替换(新的消息会覆盖以前的),不一样类通知能够在通知栏并存。最多能够有10001类通知并存
2.支持应用版本推送
3.支持机型推送
4.开启/关闭app在前台时的通知显示能够服务端来设置
魅族推送:
1.单个设备 1 个月内不活跃,将取消订阅
2.可切换推送消息开关(app可自由选择是否开启此功能)
3.通知栏和透传消息开关互不影响
4.关闭开关不会取消 PushId 订阅,只是对应的消息没法推送
5.可自定义通知图标
6.在Flyme系统(4.0,4.5,5)上,会直接使用系统长链接通道,全部app会和系统共享一个长链接
OPPO推送:
1.天天仅可推送前一天累计用户数同等数量的消息数(不限制推送的用户及单个用户接收数,仅限制当天推送总量)
2.全量推送时,全量用户不包含当天新注册的,当太难新注册有T+1限制,需注册次日包含在全量中,单个用户推送不受注册T+1限制
3.在最新ColorOS系统上,会直接使用系统长链接通道,全部app会和系统共享一个长链接
4.OPPO推送不是彻底对外开放,只对在OPPO应用市场上架,并等级达到A级的应用才有资格申请Push服务
5.OPPO通道目前不太稳定,时好时坏,反馈客服,内部已在作优化,静候更新~
FCM推送:
1.支持折叠和不折叠消息展现在通知栏(不折叠消息展现时,FCM不保证传递顺序,例如聊天消息或者关键消息)
2.对于Android,不折叠状况下,最多可存储100条消息。达到此限值后,全部存储的消息都将被舍弃。设备在从新联网后将受到一条特殊消息,提示已达到此上限。以后,应用能够正常处理该情况,通常状况下回请求与应用服务器彻底同步。
3. FCM容许应用服务器在任意指定时间内为每台Android设备使用最多4个不一样的折叠键
4.若是设备已有一个月未链接到 FCM,FCM 仍然会接受消息,但会当即将其舍弃
|
技术支持 |
华为推送 |
技术QQ群 |
小米推送 |
经过官网的问题工单反馈,小米经过邮件回复 |
魅族推送 |
技术QQ群 |
OPPO推送 |
官网客服 |
FCM推送 |
Github提issue |
上述就是一些厂商推送通用集成总结。
看到有这么多的厂商推送,想要达到最佳效果,是否是想把厂商推送都集成到应用中,达到最佳效果,以提升推送到达率和稳定性,可是一一集成的成本高效率慢:集成方式不统一,各家API接口也不尽相同等。那么是否有捷径呢?MobPush就是聚合了各家厂商(华为、魅族、小米、OPPO、FCM、APNS等)推送,同时也实现了本身的推送通道,在都不知足各大厂商通道推送时使用自身通道推送,有效保证消息正常被用户接收。
而开发者在集成第三方时常常会碰到一些问题,毕竟是别人的东西出错很很差排查,虽然厂商大大们也有提供相关技术支持下,可是并非一直、及时的能帮忙解决问题,而MobPush则提供了24小时技术支持服务,彻底负责的协助开发者解决问题。
MobPush更好的支持了国外推送,因FCM在国内支持不友好,可是MobPush使FCM的国内推送与国外推送同样好用。而且提供Android、iOS、Unity、coco2d、js等平台,知足不一样平台推送的需求,后续也会更多的支持其余平台。