这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
安卓厂商推送
安卓:更复杂的世界
iOS 只有一个 APNs,但安卓呢?
由于国内无法使用 Google 服务(包括 FCM),各家手机厂商都有自己的推送服务:
iOS 只有一个 APNs,安卓却要面对多家厂商
iOS
通道:APNs(唯一)到达:系统级,100%需处理 token 失效小米
通道:Mi Push到达:系统级,高到达率高华为
通道:HMS Push到达:系统级,高需开发者账号OPPO
通道:OPPO Push到达:系统级需认证vivo
通道:vivo Push到达:系统级较新其他机型
通道:无系统推送到达:应用级(前台才到)到达率低(约 65%)两种接入策略
统一推送平台(极光 / 个推)
一套 API,维护低,控制弱自建推送系统
完全控制,成本与维护高问题:需要对接多家推送服务
不同机型、不同系统级推送,让「推一条通知」变成「对接五六家 API」的问题。
方案 A:统一推送平台
使用极光、个推等第三方服务,封装各家厂商推送:
- 优点:一套 API、接入简单、维护成本低。
- 缺点:到达率受平台影响、成本高(按量收费)、无法精细控制。
方案 B:自建推送系统
直接对接各家厂商推送:
- 优点:完全控制、可优化到达率、成本可控。
- 缺点:开发维护成本高、需要对接多家 API。
我的选择
权衡之后,我决定先用统一推送平台(极光),再逐步自建:
- 起步阶段:快速上线,一套 API 接入。
- 成熟阶段:对到达率要求高的场景,自建推送通道。
- 关键认知:选型不是一成不变的,可以分阶段演进。
一句话
安卓推送的核心矛盾是「厂商碎片化」:要么交给统一平台换省心,要么自建换控制权。先统一后自建是务实的演进路径。
