tencent cloud

文档反馈

最后更新时间:2024-11-19 14:58:06
    本文将介绍如何在短时间内完成 TUILiveKit 组件的接入,跟随本文档,您可以在10分钟内完成接入工作,并最终得到一个包含完备 UI 界面的直播功能。

    环境准备

    Android 5.0(SDK API Level 21)及以上版本。
    Gradle 7.0 及以上的版本。
    Android 5.0 及以上的手机设备。
    环境配置或编译运行期间,如有问题,请参见 常见问题

    步骤一:开通服务

    在使用腾讯云提供的音视频服务前,您需要前往控制台,为应用开通音视频服务。具体步骤请参见 开通服务(TUILiveKit)

    步骤二:下载 TUILiveKit 组件

    Github 中克隆/下载代码,然后拷贝 Android 目录下的 tuilivekit 子目录到您当前工程中的 app 同一级目录中,如下图:
    
    
    

    步骤三:工程配置

    1. 在工程根目录下的settings.gradle.kts (或settings.gradle)文件中添加 jitpack 仓库地址:中添加 jitpack 仓库依赖(下载播放礼物 svg 动画的三方库 SVGAPlayer):
    settings.gradle.kts
    settings.gradle
    dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()
    // 添加 jitpack 仓库地址 maven { url = uri("https://jitpack.io") } } }
    dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()
    
    // 添加 jitpack 仓库地址 maven { url 'https://jitpack.io' } } }
    2. 在工程根目录的settings.gradle.kts (或settings.gradle)文件中增加如下代码,它的作用是将步骤二中下载的 tuilivekit 组件导入到您当前的项目中:
    settings.gradle.kts
    settings.gradle
    include(":tuilivekit")
    include ':tuilivekit'
    3. 在 app 目录下找到build.gradle.kts(或build.gradle)文件,并在其中增加如下代码,它的作用是声明当前 app 对新加入的 tuilivekit 组件的依赖:
    build.gradle.kts
    build.gradle
    api(project(":tuilivekit"))
    api project(':tuilivekit')
    说明:
    TUILiveKit 工程内部已经默认依赖:TRTC SDKChat SDKtuiroomengine 以及公共库 tuicore,不需要开发者单独配置。如需进行版本升级,则修改tuilivekit/build.gradle文件即可。
    4. 由于我们在 SDK 内部使用了Java 的反射特性,需要将 SDK 中的部分类加入不混淆名单,因此需要您在proguard-rules.pro文件中添加如下代码:
    -keep class com.tencent.** { *; }
    5. 在 app目录下找到AndroidManifest.xml 文件,在 application 节点中添加 tools:replace="android:allowBackup"和android:allowBackup="false",覆盖组件内的设置,使用自己的设置。
    // app/src/main/AndroidManifest.xml
    <application ...
    // 添加如下配置覆盖 依赖的 sdk 中的配置
    android:allowBackup="false" tools:replace="android:allowBackup">

    步骤四:登录

    在您的项目中添加如下代码,它的作用是通过调用 TUICore 中的相关接口完成 TUI 组件的登录。这一步骤至关重要,只有在成功登录之后,您才能正常使用 TUILiveKit 提供的各项功能。
    Kotlin
    Java
    //登录 TUILogin.login(applicationContext, 1400000001, // 请替换为步骤一取到的 SDKAppID "denny", // 请替换为您的 UserID "xxxxxxxxxxx", // 您可以在控制台中计算一个 UserSig 并填在这个位置 object : TUICallback() { override fun onSuccess() { Log.i(TAG, "login success") } override fun onError(errorCode: Int, errorMessage: String) { Log.e(TAG, "login failed, errorCode: $errorCode msg:$errorMessage") } })
    //登录
    TUILogin.login(context,
    1400000001, // 请替换为步骤一取到的 SDKAppID
    "denny", // 请替换为您的 UserID
    "xxxxxxxxxxx", // 您可以在控制台中计算一个 UserSig 并填在这个位置
    new TUICallback() {
    @Override
    public void onSuccess() {
    Log.i(TAG, "login success");
    }
    
    @Override
    public void onError(int errorCode, String errorMessage) {
    Log.e(TAG, "login failed, errorCode: " + errorCode + " msg:" + errorMessage);
    }
    });
    参数说明 这里详细介绍一下 login 函数中所需要用到的几个关键参数:
    参数
    类型
    说明
    SDKAppID
    int
    在步骤一中的最后一步中您已经获取到,这里不再赘述。
    UserID
    String
    当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符和下划线。
    userSig
    String
    使用 步骤一 的第3步中获取的 SecretKey 对 SDKAppID、UserID 等信息进行加密,就可以得到 UserSig,它是一个鉴权用的票据,用于腾讯云识别当前用户是否能够使用 TRTC 的服务。您可以通过控制台中的 辅助工具 生成一个临时可用的 UserSig。更多信息请参见 如何计算及使用 UserSig
    说明:
    开发环境:如果您正在本地开发调试阶段,可以采用本地 GenerateTestUserSig.genTestSig函数生成 userSig。该方法中 SDKSecretKey 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量。
    生产环境:如果您的项目要发布上线,请采用 服务端生成 UserSig 的方式。

    步骤五:开始直播

    在上述登录方法调用返回成功后,调用 VideoLiveKitstartLive 方法,指定房间 ID,开启您的直播页面。
    Kotlin
    Java
    import com.trtc.uikit.livekit.VideoLiveKit
    
    VideoLiveKit.createInstance(applicationContext).startLive("roomId")
    import com.trtc.uikit.livekit.VideoLiveKit;
    
    VideoLiveKit.createInstance(getApplicationContext()).startLive("roomId");
    直播预览
    直播中(主播界面)
    
    
    
    
    
    
    
    

    步骤六:观看直播

    在上述登录方法调用返回成功后,调用 VideoLiveKitjoinLive 方法,指定房间 ID,开启您的直播页面。
    Kotlin
    Java
    import com.trtc.uikit.livekit.VideoLiveKit
    
    VideoLiveKit.createInstance(applicationContext).joinLive("roomId")
    import com.trtc.uikit.livekit.VideoLiveKit;
    
    VideoLiveKit.createInstance(getApplicationContext()).joinLive("roomId");
    观看直播
    观众连麦
    
    
    
    
    
    

    更多特性

    常见问题

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

    交流与反馈

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

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

    技术支持

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

    7x24 电话支持