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

统一推送联盟 成立之后,各大手机厂家都开始推出了自己的推送服务,打造更健康的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的手机才能收到推送。
    原文作者:ImWiki
    原文地址: https://www.jianshu.com/p/79fdb0f0b80d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞