
SDKAppID: Unique identifier for your Chat applicationSDKSecretKey: Application secret key
settings.gradle based on your business needs. TUI components are independent; adding or removing them does not affect project compilation.settings.gradle// Include the app moduleinclude ':app'// Core communication module (required)include ':tuicore'project(':tuicore').projectDir = new File(settingsDir, '../TUIKit/TUICore/tuicore')// Common IM module (required)include ':timcommon'project(':timcommon').projectDir = new File(settingsDir, '../TUIKit/TIMCommon/timcommon')// Chat module (core feature)include ':tuichat'project(':tuichat').projectDir = new File(settingsDir, '../TUIKit/TUIChat/tuichat')// Contacts module (core feature)include ':tuicontact'project(':tuicontact').projectDir = new File(settingsDir, '../TUIKit/TUIContact/tuicontact')// Conversation list module (core feature)include ':tuiconversation'project(':tuiconversation').projectDir = new File(settingsDir, '../TUIKit/TUIConversation/tuiconversation')// Search module (requires Pro, Pro Plus, or Enterprise edition)include ':tuisearch'project(':tuisearch').projectDir = new File(settingsDir, '../TUIKit/TUISearch/tuisearch')// Community module (requires Pro, Pro Plus, or Enterprise edition)include ':tuicommunity'project(':tuicommunity').projectDir = new File(settingsDir, '../TUIKit/TUICommunity/tuicommunity')// Audio/video call moduleinclude ':tuicallkit-kt'project(':tuicallkit-kt').projectDir = new File(settingsDir, '../TUIKit/TUICallKit/tuicallkit-kt')// Video conference moduleinclude ':tuiroomkit'project(':tuiroomkit').projectDir = new File(settingsDir, '../TUIKit/TUIRoomKit/tuiroomkit')// Speech-to-text plugin (supported from version 7.5)include ':tuivoicetotextplugin'project(':tuivoicetotextplugin').projectDir = new File(settingsDir, '../TUIKit/TUIVoiceToTextPlugin/tuivoicetotextplugin')// Message translation plugin (supported from version 7.2; value-added feature activation required)include ':tuitranslationplugin'project(':tuitranslationplugin').projectDir = new File(settingsDir, '../TUIKit/TUITranslationPlugin/tuitranslationplugin')// Emoji reaction plugin (supported from version 7.8; requires Pro, Pro Plus, or Enterprise edition)include ':tuiemojiplugin'project(':tuiemojiplugin').projectDir = new File(settingsDir, '../TUIKit/TUIEmojiPlugin/tuiemojiplugin')
build.gradle:dependencies {api project(':tuiconversation')api project(':tuicontact')api project(':tuichat')api project(':tuisearch')api project(':tuicommunity')api project(':tuicallkit-kt')api project(':tuiroomkit')// Speech-to-text plugin (from version 7.5)api project(':tuivoicetotextplugin')// Translation plugin (from version 7.2; value-added feature activation required)api project(':tuitranslationplugin')// Emoji reaction plugin (from version 7.8; requires Pro, Pro Plus, or Enterprise edition)api project(':tuiemojiplugin')// Group notes plugin (from version 7.1)api 'com.tencent.imsdk:tuigroupnote-plugin:8.4.6667'// Poll plugin (from version 7.1)api 'com.tencent.imsdk:tuipoll-plugin:8.4.6667'// Conversation grouping plugin (from version 7.3)api 'com.tencent.imsdk:tuiconversationgroup-plugin:8.4.6667'// Conversation tagging plugin (from version 7.3)api 'com.tencent.imsdk:tuiconversationmark-plugin:8.4.6667'// Message push plugin (from version 7.6)api 'com.tencent.timpush:timpush:8.4.6667'// Manufacturer-specific push packages as neededapi 'com.tencent.timpush:fcm:8.4.6667'api 'com.tencent.timpush:xiaomi:8.4.6667'api 'com.tencent.timpush:meizu:8.4.6667'api 'com.tencent.timpush:oppo:8.4.6667'api 'com.tencent.timpush:vivo:8.4.6667'api 'com.tencent.timpush:huawei:8.4.6667'api 'com.tencent.timpush:honor:8.4.6667'}
AndroidManifest.xml, add tools:replace="android:allowBackup" to the <application> node to override the component's internal setting and use your own value.// app/src/main/AndroidManifest.xml<applicationandroid:name=".BaseApplication"android:allowBackup="false"android:icon="@drawable/app_ic_launcher"android:label="@string/app_name"android:largeHeap="true"android:theme="@style/AppTheme"tools:replace="android:allowBackup">
// settings.gradlepluginManagement {repositories {google()mavenCentral()gradlePluginPortal()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public" }maven { url "https://developer.huawei.com/repo" }maven { url "https://developer.hihonor.com/repo" }}}dependencyResolutionManagement {repositories {mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }maven { url "https://mirrors.tencent.com/repository/maven/liteavsdk/" }maven { url "https://developer.huawei.com/repo/" }maven { url "https://developer.hihonor.com/repo" }}}
// settings.gradle.ktspluginManagement {repositories {google()mavenCentral()gradlePluginPortal()maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public") }maven { url = uri("https://developer.huawei.com/repo") }maven { url = uri("https://developer.hihonor.com/repo") }}}dependencyResolutionManagement {repositories {mavenCentral()maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public") }maven { url = uri("https://mirrors.tencent.com/repository/maven/liteavsdk") }maven { url = uri("https://developer.huawei.com/repo") }maven { url = uri("https://developer.hihonor.com/repo") }}}
// project root build.gradlebuildscript {repositories {google()mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public" }maven { url "https://developer.huawei.com/repo" }maven { url "https://developer.hihonor.com/repo" }}}allprojects {repositories {google()mavenCentral()maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }maven { url "https://mirrors.tencent.com/repository/maven/liteavsdk/" }maven { url "https://developer.huawei.com/repo/" }maven { url "https://developer.hihonor.com/repo" }}}
// project root build.gradle.ktsbuildscript {repositories {google()mavenCentral()maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public") }maven { url = uri("https://developer.huawei.com/repo") }maven { url = uri("https://developer.hihonor.com/repo") }}}allprojects {repositories {google()mavenCentral()maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public") }maven { url = uri("https://mirrors.tencent.com/repository/maven/liteavsdk") }maven { url = uri("https://developer.huawei.com/repo") }maven { url = uri("https://developer.hihonor.com/repo") }}}
$kotlin_version to a specific version number and ensure it is compatible with your Android Gradle Plugin version (for example, if $kotlin_version is 1.9.0, use Android Gradle Plugin 8.6.0). See Kotlin-Gradle Plugin Compatibility// project root build.gradlebuildscript {dependencies {classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"}}
app/proguard-rules.pro file:-dontshrink-dontoptimize-keep class com.tencent.qcloud.** { *; }-keep class com.tencent.imsdk.** { *; }-keep class * implements com.tencent.qcloud.tuicore.interfaces.TUIInitializer {}
allowBackup to false, disabling the application's backup and restore functionality.allowBackup attribute from your AndroidManifest.xml to disable backup and restore, or add tools:replace="android:allowBackup" to the <application> node to override the IM SDK's setting and use your own value.// app/src/main/AndroidManifest.xml<applicationandroid:name=".BaseApplication"android:allowBackup="false"android:icon="@drawable/app_ic_launcher"android:label="@string/app_name"android:largeHeap="true"android:theme="@style/AppTheme"tools:replace="android:allowBackup">
build.gradle file. This is required for proper initialization of TUIKit components. Omitting this step may result in NullPointerExceptions or other errors.dependencies {annotationProcessor 'com.google.auto.service:auto-service:1.1.1'}
Feedback