主播准备页 | 主播开播页 | 直播列表 | 观众观看页 |
![]() | ![]() | ![]() | ![]() |

settings.gradle.kts 或 settings.gradle 文件中,添加 JitPack 仓库地址,项目中播放礼物 SVG 动画的第三方库托管在 JitPack仓库中,需要从 JitPack 仓库中查找依赖项。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' }}}
settings.gradle.kts 或 settings.gradle 文件中,增加以下代码以导入 tuilivekit 组件。include ':tuilivekit'project(':tuilivekit').projectDir = new File(settingsDir, "live/tuilivekit")include(":atomic")project(':atomic').projectDir = new File(settingsDir, "atomic_x")
include(":tuilivekit")project(":tuilivekit").projectDir = File(settingsDir, "live/tuilivekit")include(":atomic")project(":atomic").projectDir = File(settingsDir, "atomic_x")
app 目录下找到 build.gradle.kts(或 build.gradle)文件,并在文件中增加以下代码,该步骤的作用是声明当前 App 对新加入的 tuilivekit 组件的依赖。dependencies {// 添加 tuilivekit 依赖api(project(":tuilivekit"))}
dependencies {// 添加 tuilivekit 依赖api project(':tuilivekit')}
proguard-rules.pro 文件中添加以下代码,将相关类加入不混淆名单,以确保功能正常运行。-keep class com.tencent.** { *; }-keep class com.tencent.beacon.** { *; }-keep class com.tencent.cloud.iai.lib.** { *; }-keep class com.tencent.qimei.** { *; }-keep class com.tencent.xmagic.** { *; }-keep class com.trtc.uikit.livekit.component.gift.store.model.** { *; }-keep class com.trtc.uikit.livekit.livestreamcore.** { *; }-keep class com.tcmediax.** { *; }# Google 序列化/反序列化框架 Gson 库相关混淆-keep class com.google.gson.** { *; }# 美颜特效相关混淆-keep class androidx.exifinterface.** { *; }-keep class com.gyailib.** { *; }-keep class org.extra.** { *; }-keep class org.libpag.** { *; }-keep class org.light.** { *; }# 播放礼物SVG动画相关混淆-keep class com.opensource.svgaplayer.proto.** { *; }-keep class com.squareup.wire.** { *; }
AndroidManifest合并过程中产生属性冲突,您需要在 app/src/main/AndroidManifest.xml 文件的 <application> 节点中,添加 tools:replace="android:allowBackup" 和 android:allowBackup="false",用以覆盖组件内的设置。<application...// 添加如下配置覆盖 依赖的 sdk 中的配置android:allowBackup="false"tools:replace="android:allowBackup">

// 1.导入依赖import com.tencent.qcloud.tuicore.TUILogin// 2.调用登录接口,推荐您在自己登录业务完成后再调用 TUILogin 登录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")}})
// 1.导入依赖import com.tencent.qcloud.tuicore.TUILogin// 2.调用登录接口,推荐您在自己登录业务完成后再调用 TUILogin 登录TUILogin.login(context,1400000001, // 请替换为开通服务控制台的 SDKAppID"denny", // 请替换为您的 UserID"xxxxxxxxxxx", // 您可以在控制台中计算一个 UserSig 并填在这个位置new TUICallback() {@Overridepublic void onSuccess() {Log.i(TAG, "login success");}@Overridepublic void onError(int errorCode, String errorMessage) {Log.e(TAG, "login failed, errorCode: " + errorCode + " msg:" + errorMessage);}});
参数 | 类型 | 说明 |
SDKAppID | Int | |
UserID | String | 当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。 |
userSig | String | 用于腾讯云鉴权的票据。请注意: 开发环境:您可以采用本地 GenerateTestUserSig.genTestSig 函数生成 UserSig 或者通过 UserSig 辅助工具 生成临时的 UserSig。生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参见 服务端生成 UserSig。 |
TUILogin 提供了登录状态回调机制,方便您处理可能出现的登录异常情况,主要包括 “被踢下线” 和 “签名过期” 这两种异常状态的回调:IM SDK 会通过 onKickedOffline 回调通知给您,此时可以在 UI 提示用户,并调用 TUILogin.login 重新登录。onUserSigExpired 回调,说明您之前给该用户签发的 userSig 已经过期了,这个时候如果当前用户在您后台的登录态依然有效,您可以让您的 app 向您的后台请求新的 userSig,并调用 TUILogin.login 续签登录态。class YourLoginService : TUILoginListener() {// 监听登录状态回调fun addObserver() {TUILogin.addLoginListener(this)}// 取消监听登录状态回调fun removeObserver() {TUILogin.removeLoginListener(this)}// 用户被踢下线回调override fun onKickedOffline() {// 您的业务代码:UI 交互提示用户,然后重新登录}// 用户签名过期回调override fun onUserSigExpired() {// 您的业务代码:如果当前用户在您后台的登录态依然有效,您可以让您的 app 向您的后台请求新的 userSig,并调用 TUILogin.login 续签登录态。}}
class YourLoginService extends TUILoginListener {// 监听登录状态回调public void addObserver() {TUILogin.addLoginListener(this);}// 取消监听登录状态回调public void removeObserver() {TUILogin.removeLoginListener(this);}// 用户被踢下线回调@Overridepublic void onKickedOffline() {// 您的业务代码:UI 交互提示用户,然后重新登录}// 用户签名过期回调@Overridepublic void onUserSigExpired() {// 您的业务代码:如果当前用户在您后台的登录态依然有效,您可以让您的 app 向您的后台请求新的 userSig,并调用 TUILogin.login 续签登录态。}}
TUILogin.login 调用即可,我们建议您将 TUILogin.login 和 TUILogin.logout 与自己的登录业务关联。
AndroidManifest.xml 中都配置了 allowBackup 属性 ,造成冲突。AndroidManifest.xml 文件中删除 allowBackup 属性或将该属性改为 false,表示关闭备份和恢复功能;并在 AndroidManifest.xml 文件的 application 节点中添加 tools:replace="android:allowBackup"表示覆盖其他模块的设置,使用您自己的设置。修复示例如图所示:

文档反馈