tencent cloud

文档反馈

最后更新时间:2024-08-22 10:46:13
    本文将介绍如何快速完成 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。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持