Android进阶之路Android开发Android开发

整理 Android 所有的厂家推送平台

2019-05-15  本文已影响8人  ImWiki

统一推送联盟 成立之后,各大手机厂家都开始推出了自己的推送服务,打造更健康的Android推送生态。下面就汇总一下这几大推送平台,并给予开发者一些建议。

各大推送平台对比

推送平台 通知栏 透传 限制情况
小米推送 支持 支持 小米手机(MIUI系统)才能在非启动状态收到推送,其他手机需要在前台或后台才能收到。
华为推送 支持 支持 部分EMUI4.0和4.1的手机,以及EMUI5.0及之后的华为手机。
魅族推送 支持 支持 魅族手机
OPPO 推送 支持 不支持 仅支持部分OPPO手机系统(ColorOS) Android APP应用
VIVO 推送 支持 不支持 只支持VIVO平台高版本部分的手机。
FCM 支持 支持 安装了Google Service的手机才能收到推送,在国内无法正常收到推送。

建议

  1. 由于华为推送、OPPO推送、VIVO推送只支持部分的手机,并没有全面覆盖所有自家品牌手机,建议尽量使用自家的厂家推送,不支持的情况下就统一使用小米推送。
  2. 由于OPPO推送VIVO推送无法收到透传,如果对透传功能有强要求,建议自己通过netty实现,但是需要较多的开发成本。小团队可以在全部平台都使用小米推送作为辅助推送,所有的透传推送都通过小米推送实现,通知栏推送走各大厂商推送。
  3. 由于FCM是需要依赖Google Service和网络环境,通常情况下不建议使用,如果有大量的国外的用户才建议使用。
  4. 选择推送平台尽可能选择厂家推送,服务端管理各大推送,但是工作量较多。个人建议尽可能不要选择商业推送,因为商业推送会有APP间相互唤醒,给用户一个非常不好的印象,而且纯粹的商业推送已经无法保证到达率了。当然商业推送也有他的优点,简化使用,而且有些商业推送已经支持厂家推送,可以保证到达率,但是通常需要付费才能使用。
  5. 由于部分厂家推送不支持别名推送,所以需要我们服务端对每个平台的token进行管理,全部通过token进行推送。

小米推送

小米消息推送服务在MIUI上为系统级通道,并且全平台通用,可以为开发者提供稳定、可靠、高效的推送服务。小米是国内最早开始做推送的手机厂家,所以基本所有的小米手机都可以在没有打开APP的情况下收到推送。

官网

https://dev.mi.com/console/appservice/push.html

文档

https://dev.mi.com/console/doc/detail?pId=230

说明
  1. 在MIUI上系统级长连接,最大程度提高消息送达率。
  2. 支持两大系统的推送服务,iOS开发者还可以将存量用户无缝迁移到小米推送中。
  3. 支持通知栏和透传两种方式。
  4. 支持所有品牌的手机。

华为推送

Huawei PUSH(华为推送服务)是华为为开发者提供的消息推送平台,虽然华为推送也很早期也有,但是华为并不重视华为推送,所以比较难用,而且早期的手机到达率也是很有问题。由于统一推送联盟的成立,华为才开始重视起来。华为推送不支持别名推送,所以必须通过服务端管理token,这一点对开发者也非常不友好。

官网

https://developer.huawei.com/consumer/cn/console#/openCard/AppService/6

文档

https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweipush_agent.html?page=hmssdk_huaweipush_introduction_agent

说明
  1. 部分EMUI4.0和4.1的手机,以及EMUI5.0及之后的华为手机才能收到推送。
  2. 支持通知栏和透传两种方式。
  3. 不支持别名推送,必须通过服务端管理。

魅族推送

魅族推送在Flyme系统上的长连接由系统维护,能够充分保障消息在 Flyme系统上的到达率。魅族推送虽然是后期之秀,但是魅族对待推送的态度和小米是一样的好,是真正为了做好用户服务,魅族除了推出自家的推送以外,还推出了魅族集成推送服务 ,方便用户管理多家的推送平台,这种精神非常值得嘉奖,是用心最好技术的公司。

官网

http://push.meizu.com

文档

http://open-wiki.flyme.cn/doc-wiki/index#id?73
https://github.com/MEIZUPUSH/PushDemo
https://github.com/MEIZUPUSH/JavaSdk
https://github.com/MEIZUPUSH/phpsdk
https://github.com/MEIZUPUSH/PushAPI

说明
  1. 只支持Flyme系统的魅族手机,其他手机无法收到推送。
  2. 单个业务在平台或 API 进行推送有速率限制,默认应用是 500 条/秒,如果超过此速率可以联系我们进行调整;
  3. 单个业务每天在平台或 API 进行任务推送有次数限制,默认是 1000 条/天;
  4. 单个设备 1 个月内不活跃,将取消订阅;
  5. 支持通知栏和透传两种方式。

OPPO 推送

OPPO PUSH是ColorOS上的系统级通道,为开发者提供稳定,高效的消息推送服务。

官网

https://push.oppo.com

文档

https://push.oppo.com/documents

说明
  1. 目前仅支持OPPO手机系统(ColorOS) Android APP应用。
  2. OPPO推送暂时只支持通知栏消息的推送。消息下发到OS系统模块并由系统通知模块展示,在用户点击通知前,不启动应用。整个过程环保省电。

VIVO 推送

Funtouch OS系统级通道,提供稳定、可靠、高效的推送服务。

官网

https://dev.vivo.com.cn/openAbility/pushNews

文档
说明
  1. Funtouch OS系统长连接服务,到达率高。
  2. 只支持VIVO平台高版本部分的手机。
  3. 为避免造成用户打扰,目前vivo手机接收的消息为7:00-23:00,服务器允许推送时间为7:00-22:00,单推不受此时间限制,在限制时间之外发送的群推或全推,会被抛弃。
  4. 目前是每个客户端每天可接收单推消息不受限制,群推消息和全推消息都属于公共类资讯,每个用户每天可以接收5条公共类消息;

FCM 推送(Firebase Cloud Messaging)

FCM是Google推出的新推送推送平台,是用来代替GCM(Google Cloud Messaging),主要用于消息推送的,即使在应用没有起来的情况下,由于FCM需要google service支持,在国内基本不能用。

官网

https://console.firebase.google.com

文档

https://firebase.google.com/docs/cloud-messaging?authuser=0

说明
  1. 支持iOS、Android 或网页 (JavaScript) 客户端应用。
  2. 在国内基本无法正常工作,只有较多海外用户才建议使用。
  3. 只有安装了Google Service的手机才能收到推送。
上一篇下一篇

猜你喜欢

热点阅读