Tutorial: SDK 升级指引

SDK 升级指引

从 v4.7.0+ 版本升级到 v4.9.0 版本

TRTC.checkSystemRequirements 返回详细检测结果发生变更,具体请参见 接口文档

  • v4.9.0 及其以上版本的 SDK: checkResult.detail 移除了 isH264Supported,新增了 isH264EncodeSupported,isVp8EncodeSupported,isH264DecodeSupported 以及 isVp8DecodeSupported。

从 v4.x.x 版本升级到 v4.8.2 版本

Client.join 接口增加了 roomId 参数的强校验。升级时需注意。

  • roomId 使用 number 类型时,取值要求为 [1, 4294967294] 的整数;
  • roomId 使用 string 类型时,限制长度为64字节,且仅支持以下范围的字符集:
    • 大小写英文字母(a-zA-Z);
    • 数字(0-9);
    • 空格、"!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、" {"、"}"、"|"、"~"、",";

注意:roomId 默认使用 number 类型,如需使用 string 类型的 roomId,请在执行 TRTC.createClient 时设置 useStringRoomId 为 true。

示例代码:

// roomId 使用 number 类型
let client = TRTC.createClient({
  mode,
  sdkAppId,
  userId,
  userSig
});
await client.join({ roomId: 1024 });  // 传入的 roomId 必须为 [1, 4294967294] 的整数

// roomId 使用 string 类型
let client = TRTC.createClient({
  mode,
  sdkAppId,
  userId,
  userSig,
  useStringRoomId: true  // roomId 使用 string 类型时,必须设置 useStringRoomId 为 true
});
await client.join({ roomId: 'hello' });  // 传入的 roomId 必须为 string 类型,且字符与长度符合要求

从 v4.x.x 版本升级到 v4.7.0 版本

TRTC.checkSystemRequirements 接口在该版本有 Breaking Change。升级时需要注意。

  • v4.7.0 以下版本的该接口: Promise 返回 boolean, 表示 SDK 是否支持当前浏览器。
  • v4.7.0 及其以上版本的该接口: Promise 返回 object, 支持返回详细的检测结果,详见 TRTC.checkSystemRequirements

用法差异如下:

// v4.7.0 以下版本的 SDK
TRTC.checkSystemRequirements().then((result) => {
  if(!result) {
     console('Your browser is not compatible with TRTC');
     // SDK 不支持当前浏览器,建议用户使用最新版本的 Chrome 浏览器。
  }
});

// v4.7.0 及其以上版本的 SDK
TRTC.checkSystemRequirements().then((checkResult) => {
  if(!checkResult.result) {
     console.log('checkResult', checkResult.result, 'checkDetail', checkResult.detail);
      // SDK 不支持当前浏览器,根据用户设备类型建议用户使用 SDK 支持的浏览器
  }
});