华为设备运行游戏返回错误码7005,HMS Game Engine集成问题咨询
错误原因
HMS游戏服务返回错误码7005的核心原因为调用游戏数据接口前未完成华为帐号登录与游戏服务授权,你使用的getLocalGameSummary接口强依赖玩家已在当前设备完成华为帐号登录、且同意游戏服务相关授权协议,你当前的代码未添加前置登录逻辑直接调用该接口,因此触发报错。
修复方案
- 第一步:在调用游戏数据接口前,先添加华为帐号授权登录逻辑,示例代码如下:
// 初始化帐号登录参数,申请游戏服务所需权限 AuthParams authParams = new AuthParamsHelper.AuthParamsBuilder(AuthParamsHelper.DEFAULT_AUTH_REQUEST_PARAM) .setAccessToken() .build(); AccountAuthService authService = AccountAuthManager.getService(GameSummaryActivity.this, authParams); // 拉起登录页 startActivityForResult(authService.getSignInIntent(), 1001);
- 第二步:在登录结果回调中判断登录成功后,再执行你原有获取游戏概览的逻辑:
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1001) { Task<AuthAccount> loginTask = AccountAuthManager.parseAuthResultFromIntent(data); if (loginTask.isSuccessful()) { // 登录成功,调用原有获取游戏概览逻辑 getLocalGameSummary(); } else { // 登录失败处理 if (loginTask.getException() instanceof ApiException) { int errorCode = ((ApiException) loginTask.getException()).getStatusCode(); showLog("登录失败,错误码:" + errorCode); } } } }
- 第三步:如果添加登录逻辑后仍报错,可排查以下异常场景:
- 当前设备安装的HMS Core(APK)版本过低,升级到最新版本重试即可
- 登录的华为帐号未添加到AppGallery Connect后台的应用测试白名单中
- 项目内的agconnect-services.json配置文件、AppID参数和后台申请的应用信息不一致
内容的提问来源于stack exchange,提问作者Zinna
相关产品推荐
相关产品推荐

