升级
升级说明
TUICallKit 是腾讯云推出一款新的音视频通话 UI 组件,是 TUICalling 的升级版本,支持群组通话、AI降噪等更多功能特性、支持全平台间互通呼叫,功能更加稳定,欢迎您使用新的 TUICallKit 组件,在升级前您需要了解到:
TUICalling 和 TUICallKit 支持相互呼叫,升级前后,请保持 SDKAppID 不变,否则会影响相互通信;
TUICallKit 需要搭配 IM 音视频通话能力套餐,可以单击 IM 控制台,进入对应 SDKAppID 应用的 Basic Configuration 页面,并在页面的右下角找到 Call 功能区,单击 Try now 即可开通 TUICallKit 的 7 天免费试用服务。如果需要正式应用上线,可以单击 Purchase 即可进入购买页面。
![](https://cloudcache.intl.tencent-cloud.com/cms/backend-cms/96fccf0bab7a11ee9fd6525400bb593a.png)
![](https://cloudcache.intl.tencent-cloud.com/cms/backend-cms/96fccf0bab7a11ee9fd6525400bb593a.png)
注意:
升级步骤
TUICallKit 在设计之初就兼顾了 TUICalling 客户的升级诉求,仅需要简单两步就可以升级完成,预计花费 20 分钟;
1、升级依赖为TUICallKit
在您的工程中完成对TUICallKit的依赖升级,对您的工程的配置文件pubspec.yaml进行设置:
dependencies:#删除旧的依赖tim_ui_kit_calling_plugin,并添加新的依赖tencent_calls_uikit:tencent_calls_uikit:
设置完成后执行
flutter pub get
命令。说明:
如果您之前是配合 TUIChat、TUIContact 等IM 组件一起使用的话,执行完这个步骤即可正常使用 TUICallKit,TUICallKit 组件内部已经处理好兼容逻辑。
2、修改 API 使用
在完成上述步骤后,您的工程就无法正常编译了,需要将 TUICalling API 替换成新的 TUICallKit API,可以参照如下 API 对比信息,搜索替换即可。
API 含义 | TUICalling(tim_ui_kit_calling_plugin) | TUICallKit(tencent_calls_uikit) | 备注 |
创建 TUICallKit 实例 | TUICalling.sharedInstance | 替换引用、名称 | |
设置用户的昵称 | TUICalling.setUserNickname | 设置头像、昵称的接口整合到 setSelfInfo 接口 | |
设置用户的头像 | TUICalling.setUserAvatar | 设置头像、昵称的接口整合到 setSelfInfo 接口 | |
发起 1v1 通话 | TUICalling.call | 详见 TUICalling.call 接口变更 | |
发起群组通话 | / | / | |
主动加入当前的群组通话中 | / | / | |
设置自定义来电铃音 | TUICalling.setCallingBell | 替换引用、名称 | |
开启/关闭静音模式 | TUICalling.enableMuteMode | 替换引用、名称 | |
开启/关闭悬浮窗功能 | TUICalling.enableFloatWindow | 替换引用、名称 | |
设置监听事件 | TUICalling.registerListener | 详见 TUICalling.registerListener 接口变更 |
如下是此次升级过程中,变化较大的两个 API 的适配方案:
TUICalling.call 接口变更
TUICalling 代码示例
// 原接口Future<void> call(String userId, CallingScenes type, [OfflinePushInfo? offlinePushInfo]);
TUICallKit 代码示例
// 新接口Future<void> call(String userId, TUICallMediaType callMediaType, [TUICallParams? params]);// 新调用方式TUIOfflinePushInfo offlinePushInfo = TUIOfflinePushInfo();offlinePushInfo.title = "Flutter TUICallKit";offlinePushInfo.desc = "This is an incoming call from Flutter TUICallkit";TUICallParams params = TUICallParams(offlinePushInfo: offlinePushInfo);TUICallKit.instance.call(callUserId, TUICallMediaType.audio, params);
TUICallKit.setCallingListener 接口变更
TUICalling 代码示例
TUICalling.sharedInstance().registerListener(TUICallingListener(onInvited: (params) {}onCallingCancel: () {}……));
TUICallKit 代码示例
TUICallEngine.instance.addObserver(TUICallObserver(onError:(int code, String message) {},onCallCancelled: (String callerId) {},onCallBegin:(TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole) {},……));
升级完上述 API 后,即可正常使用
TUICallKit
组件。