常见问题

关于推送消息下发时消息通道的选择问题

消息通道的下发控制在 TMF 的后端服务,后端会根据客户端的进程存在与否来选择一个通道进行消息下发,当客户端进程不存在时会走厂商通道,当客户端进程存在时则走自有通道。

关于厂商通道通知栏消息推送 Log 日志输出的说明

由于应用进程不存在,消息推送通知是由系统服务拉起并创建,所以厂商通道推送时 TMF 消息推送 SDK 没有日志输出 。

推送消息查错流程

TMF Push 存在自己的推送通道和厂商(华米 OV)推送通道,因此测试过程也分为2部分单独排查:

  • App 启动后,保持 App 在前台,此时推送的 TMF Push 会走自有通道。
  • App 启动后使用系统能力将 App 杀死,此时推送的 TMF Push 会走厂商通道。

自有通道查错

  1. 客户端 Shark 通道必须是通的,可以获取到 GUID。
  2. 客户端收到推送消息后,从日志输出中可以查看到对应信息,如果没有收到类似下面的推送信息,说明客户端没有接收到数据,需要服务端配合查找。
  3. 如果收到了上面的消息但是通知栏没有显示出来,继续查错如下:
    • 日志中是否错误信息
    • TmfPush 新版本的通知栏使用 AndroidX 进行通知栏显示的,如果客户的工程中采用 Android Support 库,那么需要通过 实现自定义通知栏展示通知栏(因为 AndroidX 与 Support 库无法兼容)。
    • 请参见,下方 通知栏被过滤

厂商通道查错

如果厂商收不到消息推送,请先确认:

  1. 厂商集成步骤是否完整。
  2. 通过 TMF_PUSH|TMF_ProfileUpload 过滤日志,然后重新启动 App,查看厂商 SDK 是否生成 token,按如下所示确认;如果无法生成token:

    • 检查厂商 SDK 集成是否正确。
    • 看看日志中是否有对应错误信息。

    注意:小米、OPPO、vivo 确认方式和上面一样。

  3. 只有 token 成功上报到服务端后才能服务端才能进行推送,确认 token 是否上报成功。

    注意:如果 token 已成功上报一次后,后续就不会再上报了,所以在 App 第一次安装时,查看上面的 log 是最好的。

  4. 最后,可以和服务端确认一下这个设备的 token 是否真的接收到了。

  5. 如果收到了上面的消息但是通知栏没有显示出来,继续查错如下:

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

错误日志如下:
undefined

官方说明如下:
undefined

通知栏被过滤

有些系统可以通过设置应用通知栏过滤规则(例如小米),导致通知栏被显示在“不重要通知”里面。 undefined

undefined

华米 OV 厂商收不到消息

如果厂商收不到消息推送,请先确认:

  1. 厂商集成步骤是否完整。
  2. 厂商 SDK 是否生成 token,按如下所示确认:
  3. token 是否成功上报到服务端(需要找服务端同学确认)。
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""