本文将介绍如何快速完成 TUICallKit 组件的接入,您将在 10 分钟内完成以下几个关键步骤,并最终得到一个包含完备 UI 界面的视频通话功能。
1v1 视频通话 | 群组通话 |
| |
环境准备
Xcode 13 及以上。
iOS 13.0 及以上。
CocoaPods 环境安装,单击 查看。
如果您的接入和使用中遇到问题,请参见 常见问题。
步骤一:开通服务
步骤二:导入组件
1. 请在您的
Podfile
文件中添加 pod 'TUICallKit_Swift'
依赖,建议指定Subspec
为Professional
,如果您遇到任何问题,请参见 Example 工程。target 'xxxx' do...pod 'TUICallKit_Swift/Professional
'end
说明:
如果您的项目中缺少
Podfile
文件,您需要在终端中cd
到xxxx.xcodeproj
目录,然后,通过执行以下命令来创建Podfile
文件:pod init
2. 在终端中,首先
cd
到Podfile
目录下,然后执行以下命令,安装组件。pod install
说明:
如果无法安装 TUICallKit 最新版本,可以先删除 Podfile.lock 和 Pods。然后执行以下命令更新本地的 CocoaPods 仓库列表。
pod repo update
之后执行以下命令,更新组件库的 Pod 版本。
pod update
步骤三:工程配置
使用音视频功能,需要授权摄像头和麦克风的使用权限,请根据实际项目需要,设置项目所需权限。
1. 在 Xcode 中,选择 TARGETS > Info > Custom iOS Target Properties 菜单。
2. 单击 +,添加摄像头和麦克风权限。
Privacy - Camera Usage Description
Privacy - Microphone Usage Description
步骤四:登录 TUI 组件
在您的项目中添加如下代码,它的作用是通过调用 TUICore 中的相关接口完成 TUI 组件的登录。这一步骤至关重要,只有在成功登录之后,您才能正常使用 TUICallKit 提供的各项功能。
import TUICoreimport TUICallKit_Swiftfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {let userID = "denny" // 请替换为您的 UserIdlet sdkAppID: Int32 = 0 // 请替换为第一步在控制台得到的 SDKAppIDlet secretKey = "****" // 请替换为第一步在控制台得到的 SecretKeylet userSig = GenerateTestUserSig.genTestUserSig(userID: userID, sdkAppID: sdkAppID, secretKey: secretKey)TUILogin.login(sdkAppID, userID: userID, userSig: userSig) {print("login success")} fail: { code, message inprint("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"; // 请替换为您的 UserIdint sdkAppID = 0; // 请替换为第一步在控制台得到的 SDKAppIDNSString *secretKey = @"****"; // 请替换为第一步在控制台得到的 SecretKeyNSString *userSig = [GenerateTestUserSig genTestUserSigWithUserID:userID sdkAppID:sdkAppID secretKey:secretKey];[TUILogin login:sdkAppIDuserID:userIDuserSig:userSigsucc:^{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 | |
secretKey | String | |
userSig | String | 一种安全保护签名,用于对用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。 |
注意:
开发环境:如果您处于本地开发调试阶段,可以使用本地 GenerateTestUserSig.genTestSig 函数生成 userSig。但请注意,该方法中的 SDKSecretKey 容易被反编译逆向破解。一旦密钥泄露,攻击者可能盗用您的腾讯云流量。
生产环境:如果您的项目要发布上线,请采用 服务端生成 UserSig 的方式。
步骤五:拨打您的第一通电话
通过调用 TUICallKit 的 call 函数并指定通话类型和被叫方的 userId,就可以发起语音或者视频通话。
import TUICallKit_Swiftimport 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];
主叫方 | 被叫方 |
| |
更多特性
界面定制
离线推送
群组通话
悬浮窗
美颜特效
自定义铃声
监听通话状态
云端录制
常见问题
交流与反馈
如果您在使用过程中,有什么建议或者意见,可以在这里反馈:TUICallKit 产品反馈问卷,感谢您的反馈。
如果您是开发者,也欢迎您加入我们的 TUICallKit 技术交流平台 zhiliao,进行技术交流和产品沟通。