

settings.gradle.kts(或settings.gradle)文件,增加如下代码,导入tuicallkit-kt组件到项目中。include(":tuicallkit-kt")
include ':tuicallkit-kt'
build.gradle.kts(或build.gradle) 文件,在dependencies 中增加如下代码,声明当前 app 对组件的依赖。dependencies {api(project(":tuicallkit-kt"))}
dependencies {api project(':tuicallkit-kt')}
TRTC SDK、IM SDK、tuicallengine 以及公共库 tuicore,不需要开发者单独配置。如需进行版本升级,则修改tuicallkit-kt/build.gradle文件中的版本号即可。proguard-rules.pro 文件末尾添加如下代码。添加完后,点击右上角的 Sync Now,同步代码。-keep class com.tencent.** { *; }
AndroidManifest.xml 文件,在 application 节点中添加 tools:replace="android:allowBackup",覆盖组件内的设置,使用自己的设置。// 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">
import com.tencent.qcloud.tuicore.TUILoginimport com.tencent.qcloud.tuicore.interfaces.TUICallbackimport com.tencent.qcloud.tuikit.tuicallkit.debug.GenerateTestUserSigclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)val userId = "denny" // 请替换为您的UserIdval sdkAppId = 0 // 请替换为在控制台得到的SDKAppIDval secretKey = "****" // 请替换为在控制台得到的SecretKeyval userSig = GenerateTestUserSig.genTestUserSig(userId, sdkAppId, secretKey)TUILogin.login(this, sdkAppId, userId, userSig, object : TUICallback() {override fun onSuccess() {}override fun onError(errorCode: Int, errorMessage: String) {}})}}
import com.tencent.qcloud.tuicore.TUILogin;import com.tencent.qcloud.tuicore.interfaces.TUICallback;import com.tencent.qcloud.tuikit.tuicallkit.debug.GenerateTestUserSig;public class MainActivity extends AppCompatActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);String userId = "denny"; // 请替换为您的UserIdint sdkAppId = 0; // 请替换为第一步在控制台得到的SDKAppIDString secretKey = "****"; // 请替换为第一步在控制台得到的SecretKeyString userSig = GenerateTestUserSig.genTestUserSig(userId, sdkAppId, secretKey);TUILogin.login(this, sdkAppId, userId, userSig, new TUICallback() {@Overridepublic void onSuccess() {}@Overridepublic void onError(int errorCode, String errorMessage) {}});}}
参数 | 类型 | 说明 |
userId | String | 只允许包含大小写英文字母(a-z A-Z)、数字(0-9)及下划线和连词符。 |
sdkAppId | int | |
secretKey | String | |
userSig | String | 一种安全保护签名,用于对用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。 |
GenerateTestUserSig.genTestSig函数生成 userSig。该方法中 SDKSecretKey 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitval nickname = "jack"val avatar = "https:/****/user_avatar.png"TUICallKit.createInstance(context).setSelfInfo(nickname, avatar, null)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;String nickname = "jack";String avatar = "https:/****/user_avatar.png";TUICallKit.createInstance(context).setSelfInfo(nickname, avatar, null);
参数 | 类型 | 说明 |
nickname | String | 目标用户的昵称 |
avatar | String | 目标用户的头像 |
import com.tencent.cloud.tuikit.engine.call.TUICallDefineimport com.tencent.qcloud.tuikit.tuicallkit.TUICallKitval userIdList = mutableListOf<String>()userIdList.add("mike")val mediaType = TUICallDefine.MediaType.Audioval params = TUICallDefine.CallParams()TUICallKit.createInstance(context).calls(userIdList, mediaType, params, null)
import com.tencent.qcloud.tuikit.tuicallengine.TUICallDefine;import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;List<String> userIdList = new ArrayList<>();userIdList.add("mike");TUICallDefine.MediaType mediaType = TUICallDefine.MediaType.Audio;TUICallDefine.CallParams params = new TUICallDefine.CallParams();TUICallKit.createInstance(context).calls(userIdList, mediaType, params, null);
参数 | 类型 | 说明 |
userIdList | List<String> | 目标用户的 userId 列表 |
mediaType | 通话的媒体类型,例如视频通话、语音通话 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等 |

import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitTUICallKit.createInstance(this).enableFloatWindow(true)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;TUICallKit.createInstance(this).enableFloatWindow(true);

import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitTUICallKit.createInstance(context).enableIncomingBanner(true)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;TUICallKit.createInstance(context).enableIncomingBanner(true);
calls 方法发起通话时,若被叫用户列表超过一人,则自动视为多人通话。其他成员可通过 join 方法加入该多人通话。calls 方法发起通话时,若被叫用户列表(userIdList)超过一人,则自动视为群组通话。import com.tencent.cloud.tuikit.engine.call.TUICallDefineimport com.tencent.qcloud.tuikit.tuicallkit.TUICallKitval userIdList = mutableListOf<String>()userIdList.add("mike")userIdList.add("tate")val mediaType = TUICallDefine.MediaType.Audioval params = TUICallDefine.CallParams()TUICallKit.createInstance(context).calls(userIdList, mediaType, params, null)
import com.tencent.qcloud.tuikit.tuicallengine.TUICallDefine;import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;List<String> userIdList = new ArrayList<>();userIdList.add("mike");userIdList.add("tate");TUICallDefine.MediaType mediaType = TUICallDefine.MediaType.Audio;TUICallKit.createInstance(this).calls(userIdList, mediaType, null, null);
参数 | 类型 | 说明 |
userIdList | List<String> | 目标用户的 userId 列表。 |
mediaType | 通话的媒体类型,例如视频通话、语音通话。 | |
params | 通话扩展参数,例如:房间号、通话邀请超时时间,离线推送自定义内容等。 |
join 方法加入指定的群组通话。import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitval callId = "123456"TUICallKit.createInstance(this).join(callId, null)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;String callId = "123456";TUICallKit.createInstance(this).join(callId, null);
参数 | 类型 | 说明 |
callId | String | 此次通话的唯一标识。 |
TUIThemeManager.getInstance().changeLanguage 方法设置语言,以设置语言为英文示例代码如下。import com.tencent.qcloud.tuicore.TUIThemeManager;public class MainActivity extends BaseActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState)val language = TUIThemeManager.LANGUAGE_ZH_CN // 设置的语言TUIThemeManager.getInstance().changeLanguage(applicationContext, language)}}
import com.tencent.qcloud.tuicore.TUIThemeManager;public class MainActivity extends BaseActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);String language = TUIThemeManager.LANGUAGE_EN; // 设置的语言TUIThemeManager.getInstance().changeLanguage(getApplicationContext(), language);}}
参数 | 类型 | 说明 |
language | String | 设置的语言: TUIThemeManager.LANGUAGE_EN:英文。 TUIThemeManager.LANGUAGE_AR:阿拉伯语。 TUIThemeManager.LANGUAGE_ZH_HK:中文繁体。 TUIThemeManager.LANGUAGE_ZH_CN:中文简体。 |
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitval filePath = "***/callingBell.mp3"TUICallKit.createInstance(context).setCallingBell(filePath)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;String filePath = "***/callingBell.mp3";TUICallKit.createInstance(context).setCallingBell(filePath);
参数 | 类型 | 说明 |
filePath | String | 铃声文件的路径 |
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitTUICallKit.createInstance(context).enableMuteMode(true)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;TUICallKit.createInstance(context).enableMuteMode(true);
图标 | 文件名称 | 说明 |
![]() | tuicallkit_ic_dialing.png | 接听来电图标 |
![]() | tuicallkit_ic_hangup.png | 挂断通话图标 |
![]() | tuicallkit_ic_mic_unmute.png | 关闭麦克风图标 |
![]() | tuicallkit_ic_handsfree_disable.png | 关闭扬声器图标 |
![]() | tuicallkit_ic_camera_disable.png | 关闭摄像头图标 |
![]() | tuicallkit_ic_add_user_black.png | 通话过程中邀请用户图标 |
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKitimport com.tencent.qcloud.tuikit.tuicallkit.common.data.ConstantsTUICallKit.createInstance(context).disableControlButton(Constants.ControlButton.Camera)
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;import com.tencent.qcloud.tuikit.tuicallkit.common.data.Constants;TUICallKit.createInstance(context).disableControlButton(Constants.ControlButton.Camera);
参数 | 类型 | 说明 |
disableButton | ControlButton | 需要隐藏的按钮。 |
文档反馈