mPaas 厂商push不通排查指南
一 背景
金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。其中消息推送服务(Message Push Service,简称 MPS)为开发者提供了专业的移动消息推送方案,针对不同的场景推出多种推送类型,满足个性化推送需求。为了提升推送的到达率,mPaaS 集成了华为、小米等厂商的推送功能,从而有效地提高用户留存率,提升用户体验。在我们日常运维过程中,发现少部分设备在厂商push下无法push,在此分享下相关案例的排查过程,方便后续同类问题借鉴。
二 push相关背景
1. push整体架构
以接触最多的国内Android设备为例,整体结构如下,官网已经给出详细介绍(链接),这里不在赘述。
2. 厂商push和自建push
厂商push通道:优点是通过各个OS厂商维护的长链接进行推送,在App被系统杀掉后也可以进行推送,推送到达率高于自建push。支持华为,小米,oppo,vivo等厂商。缺点是,目前厂商的push基本都只支持通知栏消息的推送,在用户点击通知前,不启动应用,对红点, 图片等消息格式支持有限。
自建push通道:通过App启动后和自建服务端的长连接通道实现推送,缺点也很明显,App被杀掉后,就无法收到信息。主要用于不支持厂商渠道场景下的push。
三 问题排查举例
通过上面的介绍,可以看出三方厂商push是否成功,主要取决于三个链路,分别为:
1.三方token正确生成上报