Unity集成Huawei IAP Kit沙箱测试报错-1、错误码6004且提示INVALID REQUEST
问题触发原因
该问题核心由华为HMS Core权限校验失败触发:日志中的错误码6004代表应用请求的com.huawei.android.hms.game.base权限不存在,直接导致IAP请求被拦截,上层返回错误码-1和INVALID REQUEST提示。
常见触发场景如下:
- 游戏类应用未在AGC后台开通游戏服务,仅单独开通了IAP Kit服务
- 非游戏类应用错误调用了游戏专属的IAP支付接口,引入了不必要的游戏服务权限依赖
- 沙箱测试账号未添加到游戏服务的测试白名单中
- 项目中使用的agconnect-services.json未包含游戏服务的配置信息
- IAP SDK与游戏服务SDK版本不匹配,导致权限校验逻辑异常
排查修复方案
- 确认应用类型与调用接口匹配:如果是非游戏类应用,排查代码逻辑,替换游戏专属IAP接口为普通应用支付接口,移除游戏服务相关的依赖包
- 开通AGC游戏服务:如果是游戏类应用,登录AGC后台进入对应项目,在「增长-游戏服务」页面完成服务开通和基础信息配置,必填项全部填写完成后等待15分钟让配置生效
- 配置测试白名单:将当前沙箱测试使用的华为账号,同时添加到游戏服务的测试白名单、IAP沙箱测试账号列表两个配置项中
- 更新配置文件:重新从AGC后台下载最新的agconnect-services.json文件,替换到Unity项目
Assets/Plugins/Android路径下,确保文件中包含游戏服务的配置节点 - 匹配SDK版本:统一项目内IAP SDK和游戏服务SDK的版本,避免跨大版本混用,推荐使用官方发布的同版本号套件
- 清理缓存重试:测试前卸载设备上已安装的测试包,清理HMS Core的应用缓存,重新打包安装后再发起支付测试
内容的提问来源于stack exchange,提问作者Sivaraj Rajendran
相关产品推荐
相关产品推荐

