集成

本文将介绍如何快速完成 TUICallKit 组件的接入,您将在 10 分钟内完成以下几个关键步骤,并最终得到一个包含完备 UI 界面的视频通话功能。
1v1 视频通话
群组通话







环境准备

Xcode 13 及以上。
iOS 13.0 及以上。
CocoaPods环境安装,点击查看
如果您的接入和使用中遇到问题,请参见 常见问题

步骤一:开通服务

请参见 开通服务,获取 SDKAppID、SDKSecretKey,他们将在 步骤四:初始化 TUICallKit 组件 作为必填参数使用。

步骤二:导入组件

使用 CocoaPods 导入组件,如果您遇到问题,请先参见 环境准备。导入组件具体骤如下:
1. 请在您的 Podfile 文件中添加 pod 'TUICallKit_Swift' 依赖,建议指定SubspecProfessional,如果您遇到任何问题,请参见 Example 工程。
target 'xxxx' do
...
pod 'TUICallKit_Swift/Professional'
end
说明:
如果您的项目中缺少Podfile 文件,您需要在终端中cdxxxx.xcodeproj目录,然后,通过执行以下命令来创建Podfile文件:
pod init
2. 在终端中,首先cdPodfile目录下,然后执行以下命令,安装组件。
pod install
说明:
如果无法安装 TUICallKit 最新版本,可以先删除 Podfile.lock Pods。然后执行以下命令更新本地的 CocoaPods 仓库列表。
pod repo update
之后执行以下命令,更新组件库的 Pod 版本。
pod update
3. 建议您编译并运行一次。如果遇到问题,可以参见我们的 常见问题。如果问题仍未解决,您可以尝试运行我们的 Example 工程。在接入和使用过程中,如果遇到问题,欢迎向我们反馈

步骤三:工程配置

使用音视频功能,需要授权摄像头和麦克风的使用权限,请根据实际项目需要,设置项目所需权限。
1. Xcode 中,选择 TARGETS > Info > Custom iOS Target Properties 菜单。



2. 单击+,添加摄像头和麦克风权限。
Privacy - Camera Usage Description
Privacy - Microphone Usage Description




步骤四:登录 TUI 组件

在您的项目中添加如下代码,它的作用是通过调用 TUICore 中的相关接口完成 TUI 组件的登录。这一步骤至关重要,只有在成功登录之后,您才能正常使用 TUICallKit 提供的各项功能。
Swift
Objective-C
import TUICore
import TUICallKit_Swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let userID = "denny" // 请替换为您的 UserId
let sdkAppID: Int32 = 0 // 请替换为第一步在控制台得到的 SDKAppID
let secretKey = "****" // 请替换为第一步在控制台得到的 SecretKey

let userSig = GenerateTestUserSig.genTestUserSig(userID: userID, sdkAppID: sdkAppID, secretKey: secretKey)

TUILogin.login(sdkAppID, userID: userID, userSig: userSig) {
print("login success")
} fail: { code, message in
print("login failed, code: \(code), error: \(message ?? "nil")")
}

return true
}
#import <TUICore/TUILogin.h>
#import <TUICallKit_Swift/TUICallKit_Swift-Swift.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *userID = @"denny"; // 请替换为您的 UserId
int sdkAppID = 0; // 请替换为第一步在控制台得到的 SDKAppID
NSString *secretKey = @"****"; // 请替换为第一步在控制台得到的 SecretKey

NSString *userSig = [GenerateTestUserSig genTestUserSigWithUserID:userID sdkAppID:sdkAppID secretKey:secretKey];

[TUILogin login:sdkAppID
userID:userID
userSig:userSig
succ:^{
NSLog(@"login success");
} fail:^(int code, NSString * _Nullable msg) {
NSLog(@"login failed, code: %d, error: %@", code, msg);
}];
return YES;
}
参数
类型
说明
userID
String
客户根据自己的业务自定义用户 ID,只允许包含大小写英文字母(a-z A-Z)、数字(0-9)及下划线和连词符。
sdkAppID
Int32
Tencent RTC 控制台 创建的音视频应用的唯一标识 SDKAppID。
secretKey
String
Tencent RTC 控制台 创建的音视频应用的 SDKSecretKey。
userSig
String
一种安全保护签名,用于对用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。
注意:
开发环境:如果您处于本地开发调试阶段,可以使用本地 GenerateTestUserSig.genTestSig 函数生成 userSig。但请注意,该方法中的 SDKSecretKey 容易被反编译逆向破解。一旦密钥泄露,攻击者可能盗用您的腾讯云流量。
生产环境:如果您的项目要发布上线,请采用 服务端生成 UserSig 的方式。

步骤五:拨打您的第一通电话

通过调用 TUICallKit 的 call 函数并指定通话类型和被叫方的 userId,就可以发起语音或者视频通话。
Swift
Objective-C
import TUICallKit_Swift
import TUICallEngine

// 发起1对1语音通话(假设 userId 为 mike)
TUICallKit.createInstance().call(userId: "mike", callMediaType: .audio)
#import <TUICallKit_Swift/TUICallKit_Swift-Swift.h>
#import <TUICallEngine/TUICallEngine.h>

// 发起1对1语音通话(假设 userId 为 mike)
[[TUICallKit createInstance] callWithUserId:@"mike" callMediaType:TUICallMediaTypeAudio];
主叫方
被叫方







更多特性

悬浮窗

常见问题

如果您的接入和使用中遇到问题,请参见 常见问题

交流与反馈

如果有任何需要或者反馈,您可以联系:info_rtc@tencent.com。