继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

调用HMS SDK接口报错6004

华为开发者论坛
关注TA
已关注
手记 196
粉丝 11
获赞 2

问题现象

最近集成华为提供的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>存储>清空缓存。

最后,果然通过关闭后重新开启的方式,我的游戏可以正常登录了。

作者:鼓楼赵又廷

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP