调用华为游戏 SDK 的 getCurrentPlayer 接口返回6004
问题描述
我们项目参考游戏服务官方文档集成了华为game Service SDK,调用getCurrentPlayer接口返回6004。
日志如下:
2022-03-22 17:18:17.029 23503-23503/? I/HMSSDK_HmsClient: receive msg status_code:0, error_code6004, api_name:game.getCurrentPlayer, app_id:1xxxxxx1|, pkg_name:com.xxx, session_id:*, transaction_id:xxxx
问题描述
我们线上搜到这个帖子调用HMS SDK接口报错6004
参考该帖子处理后,问题还是无法解决,联系华为技术支持(提工单联系)定位,发现我们日志还有如下提示:
2022-03-22 17:18:16.975 2508-10594/? I/SignInRequestManagerV30: [I/HwJos_log[6.3.0.302_product]/SignInRequestManagerV30 2508:394 null:19] is Game: false
该日志表示:应用类型不是游戏,但是实际我们创建的应用类型是游戏。
最后检查发现,我们登录代码中使用的这个参数不对
华为游戏官方文档中明确说明:游戏登录
问题解决
最后参考官方文档修改了这个参数,使用DEFAULT_AUTH_REQUEST_PARAM_GAME后,问题解决。
经验总结
实际大家如果遇到该问题,可以参考我这个帖子和调用HMS SDK接口报错6004联合定位,如果还解决不了,联系华为技术支持。