厂商通道注册失败排查指南

最近更新时间:2024-09-04 14:46:41

我的收藏

问题描述

如您的应用接入了厂商通道,但在应用运行日志中观察到如下类似日志:
[OtherPushClient] handleUpdateToken other push token is : other push type: huawei
表示您的应用注册该厂商通道失败。您可以通过获取厂商通道注册失败的返回码来进行问题定位和排查。

排查步骤

获取厂商通道注册返回码

移动推送 Android SDK 提供以下方式获取厂商通道注册返回码:
在应用运行日志中通过过滤关键字 OtherPush,找到如下类似日志来定位厂商通道注册返回码:
// 华为通道
// 如果过滤关键字 `OtherPush` 找不到返回码,可以过滤关键字 `HMSSDK`,并注意查看 onResult 或 onConnect 后的返回码
[OtherPushHuaWeiImpl] other push huawei onConnect code:907135702

// 小米通道
[OtherPush_XG_MI] register failed, errorCode: 22022, reason: Invalid package name: com.xxx.xxx

// 魅族通道
[OtherPush_XG_MZ] onRegisterStatus BasicPushStatus{code='110000', message='appId不合法'}

// OPPO 通道
[OtherPushOppoImpl] OppoPush Register failed, code=14, msg=INVALID_APP_KEY

// vivo 通道
[OtherPushVivoImpl] vivoPush Register or UnRegister fail, code = 10003

返回码问题排查

您可以前往各厂商推送的官方文档获取返回码具体含义并进行问题排查。部分常见错误码可参考下表:
厂商通道
返回码
含义
解决建议
厂商通道官方返回码地址
华为
1001
请确认手机中安装有应用 “华为移动服务” 或 “HMS-Core”,华为推送必须
前往华为应用商店下载安装应用 “HMS-Core”
6003
应用 APK 未打签名或与华为开放平台登记签名信息不一致,华为推送必须
为 APK 文件打上签名或检查签名信息配置是否一致: 华为通道配置 App 签名证书指纹
907135000
appId 不合法
检查华为推送配置文件 agconnect-services.json 文件内 appId 字段内容是否和应用包名匹配
检查配置文件位置是否在工程 app 模块的根目录下(和 app build.gradle 文件同级)
907135702
签名文件的 SHA256 值与在华为推送平台上配置的不一致
前往华为推送平台检查填写的签名文件 SHA256 值是否配置一致(华为支持添加多个)
907135003
ApiClient对象无效。
请检查手机网络是否可以正常访问互联网,或重新进行网络连接
此问题多和华为手机系统应用华为移动服务 HMS-Core 版本不兼容有关,您可以尝试进入华为应用商店搜索 HMS-Core 或华为移动服务,检查是否最新版本并进行升级
荣耀
8001000
设备不支持荣耀推送
请使用荣耀设备测试
请更新包含推送服务Magic UI的版本
8001003
应用证书指纹获取失败
请配置好您的证书指纹
小米
22006
应用程序 ID 不合法
前往小米推送平台检查应用的包名、appId、appKey 是否匹配
22007
应用程序 Key 不合法
前往小米推送平台检查应用的包名、appId、appKey 是否匹配
22022
应用程序 package name 不合法
前往小米推送平台检查应用的包名、appId、appKey 是否匹配
魅族
110000
appId 不合法
前往魅族推送平台检查应用的包名、appId、appKey 是否匹配,是 Flyme 推送平台 的应用信息
110001
appKey 不合法
前往魅族推送平台检查应用的包名、appId、appKey 是否匹配
OPPO
14
无效的 AppKey 参数
请注意 setOppoPushAppId 填入的是 OPPO 的 AppKey,不是 AppId;setOppoPushAppKey 填入的是 OPPO 的 AppSecret,不是 AppKey
15
缺少 AppKey 参数
补充 AppKey 参数
vivo
10003
App 包名与配置不匹配
前往 vivo 推送平台检查应用的包名、appId、appKey 是否匹配
10004
appkey 不匹配
前往 vivo 推送平台检查应用的包名、appId、appKey 是否匹配
10005
appid 传入错误
前往 vivo 推送平台检查应用的包名、appId、appKey 是否匹配

其他排查

华为推送需要在华为推送平台开启推送服务 如您在华为设备上无法获取华为 Token,但获取到厂商推送注册返回码为0 ,请前往 华为推送平台,进入开发 > 推送服务页面,确认应用的推送开关是否开启;进入开发 > 项目设置 > API 管理页面,确认 Push Kit、App Messaging 开关是否开启。 推送服务页面显示如下:

API 管理页面显示如下:


小米推送需要在小米推送平台开启推送服务 如您未找到小米通道注册返回码,请前往 小米开放平台 > 推送运营平台,确认应用的消息推送服务是否启用。


OPPO 推送需要申请推送功能开通后才能进行正式推送OPPO 开放平台 的推送服务界面可以看到已开启服务应用和未开启服务应用,在未开启服务中单击需要申请 Push 权限的应用,进入 Push 服务并单击申请开通。
vivo 推送需要申请推送功能开通后才能进行正式推送 进入 vivo 开放平台 > 推送运营平台,在消息推送 > 全部应用中,所创建应用将会列入在应用名称里,单击应用名称选择要申请的应用后单击提交申请


说明
部分厂商推送开关开启生效有约5分钟延迟,若开启开关后仍遇到注册失败,可以稍等片刻再进行尝试。
华为移动服务版本过低 搜索日志关键字“HMSSDK”,如观察如下类似日志,即 connect versionCode 小于 connect minVersion,表示系统应用“华为移动服务”或“HMS_Core”版本较低,请做升级后尝试重新注册。
I/HMSSDK_HuaweiApiClientImpl: ====== HMSSDK version: 20601301 ======
I/HMSSDK_HuaweiApiClientImpl: Enter connect, Connection Status: 1
E/HMSSDK_Util: In getHmsVersion, Failed to read meta data for the HMS VERSION.
I/HMSSDK_HuaweiApiClientImpl: connect minVersion:20600000
I/HMSSDK_HuaweiMobileServicesUtil: connect versionCode:20301306
D/HMSAgent: connect end:-1001
vivo 部分机型不支持推送服务 vivo 推送仅支持部分较新的机型和对应的系统及以上系统,详情请参见 vivo 推送常见问题汇总