问题景象
最近集成华为提供的 HMS SDK 能力时,无奈登录,调用华为提供的 getCurrentPlayer 接口总是报错 6004。日志搜寻 hmssdk,报错如下:
Line 291: I/HMSSDK_HmsClient: receive msg status_code:0, error_code6004, api_name:game.getCurrentPlayer
搜寻官网错误码介绍,显示该错误码示意:权限不存在,未在华为开发者联盟上申请。
解决方案
既然报错起因是没有在开发者联盟上申请相干权限,因而我先参考服务和 API 开明文档查看了下以后开启的 API 权限状况,截图如下:
利用中波及的服务,我的我的项目都曾经开启了。所以这里我的权限曾经启动。这里百思不得其解,最初分割了华为技术反对定位。他们给的计划如下:
- 如果没有启动,须要先开启,期待约 15 分钟后,测试手机上将 HMS Core 缓存清理后,客户端测试看是否 OK。
- 如果曾经启动,这个有可能(极小概率呈现)是因为过后 API 开启时,呈现了某种异样,导致华为后盾零碎没有收到这个 API 开启的同步音讯,能够界面手动敞开下这个 API 开关,再从新关上,触发音讯再次同步。同样须要将 HMS Core 缓存清理后,期待 15 分钟后测试。
清理 HMS Core 缓存办法为:手机设置 > 利用 > 利用治理 >HMS Core> 存储 > 清空缓存。
最初,果然通过敞开后从新开启的形式,我的游戏能够失常登录了。
原文链接:
https://developer.huawei.com/consumer/cn/forum/topic/0204393665510820125?fid=18
作者: 鼓楼赵又廷