HarmonyOS鸿蒙Next中【游戏多媒体】创建实例失败,错误码:4001,错误信息:Verifying the signature param is invalid Reason: 100114

HarmonyOS鸿蒙Next中【游戏多媒体】创建实例失败,错误码:4001,错误信息:Verifying the signature param is invalid Reason: 100114

背景

调用游戏多媒体SDK创建实例的时候突然报错:

E  call request failed by failed! srcCode is 100114, failedMsg is Verifying the signature param is invalid
E  call login request failed, by rtcCode: 4001, rtnMsg: Verifying the signature param is invalid Reason: 100114

image.png

分析

根据报错信息可以定位到是签名参数无效,签名相关代码如下:

private void setAccessSign(EngineCreateParams params) {
    String appId = BuildConfig.agcAppId;
    // 当前游戏密钥的获取方式仅做demo示例,开发者需要放到远端服务器下发给apk
    String gameSecret = BuildConfig.gameSecret;
    // 当前随机数方式仅做demo示例,开发者需要使用更安全的算法来生成随机数
    String nonce = String.valueOf(RandomUtil.getRandomNum());
    String timestamp = String.valueOf(System.currentTimeMillis());
    params.setSign(Signer.generate(appId, openId, nonce, timestamp, gameSecret)); // 设置签名信息
    params.setNonce(nonce);
    params.setTimeStamp(timestamp);
}

由此,可以猜测大概率是第8行有问题。

解决方法

方案一

在第8行里的gameSecret信息比较可以,因此去查看了一下官方文档使用签名初始化SDK,最终确定确实是gameSecret参数填写错了。

正确的gameSecret信息应该是自己的AGC应用下的“游戏服务”下的“游戏私钥”。如下:

image.png

解决:将gameSecret更改为正确的信息即可

方案二

由于签名只会在应用开启安全加固的情况下才会使用到,因此,当关闭了安全加固即可忽略签名信息。可以以此来规避签名参数的检查。

image.png

注意:如果不是自己主动想要关闭安全加固,不建议采纳此方案,虽然它有效


更多关于HarmonyOS鸿蒙Next中【游戏多媒体】创建实例失败,错误码:4001,错误信息:Verifying the signature param is invalid Reason: 100114的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中【游戏多媒体】创建实例失败,错误码:4001,错误信息:Verifying the signature param is invalid Reason: 100114的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


错误码4001表示在HarmonyOS鸿蒙Next中创建【游戏多媒体】实例时,签名参数验证失败。具体原因代码100114指出签名参数无效。请检查以下内容:

  1. 确保使用的签名参数正确且完整;
  2. 验证签名算法是否符合系统要求;
  3. 确认签名密钥与应用的配置一致。

若问题持续,建议查阅官方文档或联系技术支持获取进一步帮助。

回到顶部