文档中心>即时通信 IM

iOS

最近更新时间:2024-10-14 17:05:31

我的收藏

升级说明

TUICallKit 是腾讯云推出一款新的音视频通话 UI 组件,是 TUICalling 的升级版本,支持群组通话、AI降噪等更多功能特性、支持全平台间互通呼叫,功能更加稳定,欢迎您使用新的 TUICallKit 组件,在升级前您需要了解到:
TUICalling 和 TUICallKit 支持相互呼叫,升级前后,请保持 SDKAppID 不变,否则会影响相互通信;
TUICallKit 需要搭配 IM 音视频通话能力套餐,可以单击 IM 控制台,进入对应 SDKAppID 应用的基本配置 页面,并在页面的右下角找到含 UI 低代码场景方案 功能区,选择音视频通话,然后单击免费体验即可开通 TUICallKit 的 7 天免费试用服务。如果需要正式应用上线,可以单击 购买正式版 即可进入购买页面。



注意
IM 音视频通话能力针对不同的业务需求提供了差异化的付费版本供您选择,您可以在 IM 购买页 了解包含功能并选购您适合的版本。

升级步骤

TUICallKit 在设计之初就兼顾了 TUICalling 客户的升级诉求,仅需要简单两步就可以升级完成,预计花费 20 分钟;

替换 TUICallKit

1. 删除您的工程 Podfile 文件同一级目录下的 TUICalling 文件夹。
2. 删除您的 Podfile 文件中的以下依赖。
# :path => "指向TUICalling.podspec的相对路径"
pod 'TUICalling', :path => "TUICalling/TUICalling.podspec", :subspecs => ["TRTC"]
3. 在您的 Podfile 文件中添加以下依赖。
pod 'TUICallKit'
4. 执行以下命令,安装组件。
pod install
如果无法安装 TUICallKit 最新版本,执行以下命令更新本地的 CocoaPods 仓库列表。
pod repo update
说明
如果您之前是配合 TUIChat、TUIContact 等 IM 组件一起使用的话,执行完这个步骤即可正常使用 TUICallKit,TUICallKit 组件内部已经处理好兼容逻辑。

修改 API 使用

在完成上述步骤后,您的工程就无法正常编译了,需要将 TUICalling API 替换成新的TUICallKit API, 可以参照如下 API 对比信息,搜索替换即可。
API 含义
TUICalling
TUICallKit
备注
创建 TUICallKit 实例
TUICallingImpl.sharedInstance
TUICallKit.createIstance
替换引用、名称
设置用户的昵称
TUICalling.setUserNickname
TUICallKit.setSelfInfo
设置头像、昵称的接口整合到setSelfInfo接口
设置用户的头像
TUICalling.setUserAvatar
TUICallKit.setSelfInfo
设置头像、昵称的接口整合到setSelfInfo接口
发起 1v1 通话
TUICalling.call
TUICallKit.call
替换引用、名称
发起群组通话
/
TUICallKit.groupCall
/
主动加入当前的群组通话中
/
TUICallKit.joinInGroupCall
/
设置自定义来电铃音
TUICalling.setCallingBell
TUICallKit.setCallingBell
替换引用、名称
开启/关闭静音模式
TUICalling.enableMuteMode
TUICallKit.enableMuteMode
替换引用、名称
开启/关闭悬浮窗功能
TUICalling.enableFloatWindow
TUICallKit.enableFloatWindow
替换引用、名称
设置监听事件
TUICalling.setCallingListener
TUICallEngine.addObserver
替换引用、名称
如下是此次升级过程中,变化较大的两个 API 的适配方案:

TUICalling.call 接口变更

TUICalling 代码示例:
// 原接口
[[TUICalling shareInstance] call:@[@"mike"] type:TUICallingTypeVideo];
TUICallKit 代码示例:
// 新调用方式
[[TUICallKit createInstance] call:@"mike" callMediaType:TUICallMediaTypeVideo];

TUICalling.setCallingListener 接口变更

TUICalling 代码示例
[[TUICalling shareInstance] setCallingListener:self];

- (BOOL)shouldShowOnCallView {
return YES;
}
- (void)callStart:(nonnull NSArray<NSString *> *)userIDs type:(TUICallingType)type role:(TUICallingRole)role viewController:(UIViewController * _Nullable)viewController {

}
- (void)callEnd:(nonnull NSArray<NSString *> *)userIDs type:(TUICallingType)type role:(TUICallingRole)role totalTime:(float)totalTime {

}
- (void)onCallEvent:(TUICallingEvent)event type:(TUICallingType)type role:(TUICallingRole)role message:(nonnull NSString *)message {

}
TUICallKit 代码示例
[[TUICallEngine createInstance] addObserver:self];

- (void)onCallBegin:(TUIRoomId *)roomId callMediaType:(TUICallMediaType)callMediaType callRole:(TUICallRole)callRole {

}
- (void)onCallEnd:(TUIRoomId *)roomId callMediaType:(TUICallMediaType)callMediaType callRole:(TUICallRole)callRole totalTime:(float)totalTime {

}
- (void)onUserNetworkQualityChanged:(NSArray<TUINetworkQualityInfo *> *)networkQualityList {

}
// 按需加载其他事件监听
......
升级完上述 API 后,您可以正常使用TUICallKit组件。