You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从华为应用市场安装的App调用HMS getToken返回null如何解决?

问题排查与解决

核心原因

该问题90%以上的场景是开启了华为应用市场的应用自动签名服务导致:当你在华为开发者后台开启应用签名服务后,你上传的安装包会被华为官方用平台生成的签名证书重签,而你在AppGallery Connect(AGC)后台仅配置了本地打包的SHA-256指纹,没有添加华为重签名后的指纹,导致应用市场分发的安装包身份校验不通过,Push Kit服务拒绝返回token。
你本地打包的debug、release版本用的是自有签名,和AGC后台配置的指纹匹配,因此可以正常获取token。

解决步骤

  • 登录华为开发者后台,进入对应应用的「应用和服务」-「应用签名」页面,复制平台生成的SHA-256证书指纹
  • 打开AGC后台对应项目的「项目设置」-「常规」页面,找到你应用的「SHA-256证书指纹」配置项,新增刚才复制的华为重签名SHA-256指纹后保存配置
  • 等待15分钟左右让配置生效,卸载设备上已安装的旧版本应用,重新从华为应用市场下载安装测试即可

补充说明

你当前使用的token获取代码符合官方规范,无需调整:

String appId = AGConnectServicesConfig.fromContext(context).getString("client/app_id");
String token = HmsInstanceId.getInstance(context).getToken(appId, "HCM");

如果按照上述步骤操作后仍然无法获取token,可以检查应用市场后台是否开启了「拆分包分发」功能,部分设备下载到裁剪后的功能包可能会丢失Push相关配置。

内容的提问来源于stack exchange,提问作者Faizan Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:36:02