【FAQ】推送获取push token报错6003,如何排查?

【FAQ】推送获取push token报错6003,如何排查?本文讲述了客户端在使用华为 HMSSDK 获取 pushtoken 时遇到的 6003 错误 主要涉及证书指纹不匹配问题

大家好,欢迎来到IT知识分享网。

一、问题现象

客户端调用getToken方法获取push token失败并报错,关键错误日志:com.huawei.hms.common. ApiException: 6003: certificate fingerprint error。

二、问题排查

6003错误码在“常见错误码”说明文档中有说明:

【FAQ】推送获取push token报错6003,如何排查?

检查申请相关服务时是否配置了正确的证书指纹:

1、打开应用的APK,将其中“META-INF”文件夹解压出来,得到其中的“CERT.RSA”文件,通过keytool -printcert -file META-INF/CERT.RSA命令打印签名证书信息。

2、登录AppGallery Connect,单击“我的项目”,选择需要操作项目,进入项目页面后选择应用,然后在“项目设置 > 常规”中检查“SHA256证书指纹”配置的信息是否与上面命令行打印出来的指纹一致。

上面是6003错误码通常的排查方法,有些开发者是因为打包使用的签名证书指纹和AGC上配置的证书指纹不一致,有些开发者是因为变更了签名但是HMS Core还缓存有老的签名文件,才获取token失败并报6003错误码,通过上面通常的排查方法一般可以解决。

但是还有些开发者按照上面的方法排查后并不能解决问题,报6003错误码表示应用打包使用的签名文件对应的证书指纹和AGC上配置的证书指纹不一致,这个是没错的,需要抓取logcat日志查看下客户端实际验证使用的证书指纹。

日志抓取方法:

1、使用adb连上手机后,分别执行下面命令:

2、尝试复现遇到的问题场景。

3、等待几十秒,按快捷键“Ctrl+C”完成日志抓取

注:生成日志后注意看下日志记录的时间段需要包含复现问题的时间点。

查找关键日志:

搜索check certFingerprint failed关键字,找到如上图所示的日志。certFingerprint be checked is后面是客户端的证书指纹,certFingerprint of 107 is后面是AGC上配置的证书指纹,107是对应应用的appid,因为某种原因开发者打包使用的签名证书指纹不是配置到AGC上的证书指纹。开发者可以通过将客户端实际验证使用的证书指纹添加到AGC上解决问题。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/146189.html

(0)
上一篇 2025-04-16 16:26
下一篇 2025-04-16 16:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信