常见问题
- 关于推送消息下发时消息通道的选择问题
- 关于厂商通道通知栏消息推送 Log 日志输出的说明
- 推送消息查错流程
- vivo 问题汇总
- 小米问题汇总
- OPPO 问题汇总
- 通知栏被过滤
- 华米 OV 厂商收不到消息
关于推送消息下发时消息通道的选择问题
消息通道的下发控制在 TMF 的后端服务,后端会根据客户端的进程存在与否来选择一个通道进行消息下发,当客户端进程不存在时会走厂商通道,当客户端进程存在时则走自有通道。
关于厂商通道通知栏消息推送 Log 日志输出的说明
由于应用进程不存在,消息推送通知是由系统服务拉起并创建,所以厂商通道推送时 TMF 消息推送 SDK 没有日志输出 。
推送消息查错流程
TMF Push 存在自己的推送通道和厂商(华米 OV)推送通道,因此测试过程也分为2部分单独排查:
- App 启动后,保持 App 在前台,此时推送的 TMF Push 会走自有通道。
- App 启动后使用系统能力将 App 杀死,此时推送的 TMF Push 会走厂商通道。
自有通道查错
- 客户端 Shark 通道必须是通的,可以获取到 GUID。
- 客户端收到推送消息后,从日志输出中可以查看到对应信息,如果没有收到类似下面的推送信息,说明客户端没有接收到数据,需要服务端配合查找。
- 如果收到了上面的消息但是通知栏没有显示出来,继续查错如下:
厂商通道查错
如果厂商收不到消息推送,请先确认:
- 厂商集成步骤是否完整。
通过 TMF_PUSH|TMF_ProfileUpload 过滤日志,然后重新启动 App,查看厂商 SDK 是否生成 token,按如下所示确认;如果无法生成token:
只有 token 成功上报到服务端后才能服务端才能进行推送,确认 token 是否上报成功。
注意:如果 token 已成功上报一次后,后续就不会再上报了,所以在 App 第一次安装时,查看上面的 log 是最好的。
最后,可以和服务端确认一下这个设备的 token 是否真的接收到了。
- 如果收到了上面的消息但是通知栏没有显示出来,继续查错如下:
- 日志中是否错误信息
- 请参见,下方 通知栏被过滤。
vivo 问题汇总
vivo 错误码
请参见 vivo 错误码参考。
vivo 推送要求 
小米问题汇总
70000001错误
收到回调:onCommandResult:command={Registration},resultCode={70000001},reason={the push is not connected.},category={null},commandArguments={null}
该 errorCode 一般是由于网络问题导致的,请先确认设备网络是否正常,网络是否使用代理。另外,修改系统时间也会导致上述错误。可通过设备浏览器登录如下链接来确认设备网络及设置是否正常:
国内:https://api.xmpush.xiaomi.com/_x/monitor/status
海外:https://api.xmpush.global.xiaomi.com/_x/monitor/status
OPPO 问题汇总
OPPO 手机不支持 push
通知栏被过滤
有些系统可以通过设置应用通知栏过滤规则(例如小米),导致通知栏被显示在“不重要通知”里面。
华米 OV 厂商收不到消息
如果厂商收不到消息推送,请先确认: