Android
本文将指导您如何在较短时间内接入
AIConversationKit
组件。遵循本指南,您将在20分钟内完成以下关键步骤,并实现具备完整 UI 界面的 AI 对话功能。AI 对话界面 ![]() |
|
环境准备
最低兼容 Android 4.4(SDK API Level 19),建议使用 Android 5.0 (SDK API Level 21)及以上版本。
Android Studio 3.5 及以上的版本(Gradle 3.5.4 及以上的版本)。
Android 4.4 及以上的手机设备。
步骤一:开通服务
步骤二:下载 TUIRoomKit 组件
1. 在 Github 中克隆/下载代码,然后拷贝
Android
目录下的aiconversatonkit
子目录到您当前工程中的 app 同级目录中,如下图:
步骤三:工程配置
1. 工程根目录下找到
setting.gradle(或 settings.gradle.kts)
文件,并在其中增加如下代码,它的作用是将aiconversationkit
组件导入到您当前的项目中。include ':aiconversationkit'
include (":aiconversationkit")
2. 在 app 目录下找到
build.gradle(或 build.gradle.kts)
文件,并在其中增加如下代码,它的作用是声明当前app
对新加入的aiconversationkit
组件的依赖。api project(':aiconversationkit')
api(project(":aiconversatonkit"))
3. 由于我们在 SDK 内部使用了Java 的反射特性,需要将 SDK 中的部分类加入不混淆名单,因此需要您在 proguard-rules.pro 文件中添加如下代码:
-keep class com.tencent.** { *; }
4. 在 app 目录下找到 AndroidManifest.xml 文件,在
application
节点中添加 tools:replace="android:allowBackup"
,覆盖组件内的设置,使用自己的设置。// app/src/main/AndroidManifest.xml<applicationandroid:name=".DemoApplication"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">
步骤四:登录
在您的项目中添加如下代码,它的作用是通过调用
TUILogin
中的相关接口完成组件的登录。这个步骤异常关键,因为只有在登录后才能正常使用 AIConversationkit
的各项功能,故请您耐心检查相关参数是否配置正确。String userId = "denny"; // Please replace with your UserIDint sdkAppId = 1400000001; // Please replace with the sdkAppId obtained in step 1String sdkSecretKey = "xxxx"; // Please replace with the sdkSecretKey obtained in step 1String userSig = GenerateTestUserSig.genTestUserSig(sdkAppId, userId, sdkSecretKey);TUILogin.login(this, sdkAppId, userId, userSig, new TUICallback() {@Override public void onSuccess() {}@Override public void onError(int errorCode, String errorMessage) {}});
val userId = "denny" // Please replace with your UserIDval sdkAppId = 1400000001 // Please replace with the sdkAppId obtained in step 1val sdkSecretKey = "xxxx" // Please replace with the sdkSecretKey obtained in step 1val userSig = GenerateTestUserSig.genTestUserSig(sdkAppId, userId, sdkSecretKey)TUILogin.login(this, sdkAppId, userId, userSig, object : TUICallback() {override fun onSuccess() {}override fun onError(errorCode: Int, errorMessage: String) {}})
参数 | 类型 | 说明 |
userId | String | 客户根据自己的业务自定义用户 ID,只允许包含大小写英文字母(a-z A-Z)、数字(0-9)及下划线和连词符。 |
sdkAppId | int | |
secretKey | String | |
userSig | String | 一种安全保护签名,用于对用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。 |
说明:
开发环境:如果您正在本地开发调试阶段,可以采用本地
GenerateTestUserSig.genTestSig
函数生成 userSig。该方法中 SDKSecretKey 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量。生产环境:如果您的项目要发布上线,请采用 服务端生成 UserSig 的方式。
步骤五:开始您的第一次 AI 对话
AIConversationDefine.StartAIConversationParams startParams = new AIConversationDefine.StartAIConversationParams();int sdkAppId = 1400000001; // 1、Replace your sdkAppIdString sdkSecretKey = "xxxx"; // 2、Replace your sdkSecretKeyString aiRobotId = "robot_" + TUILogin.getUserId();String aiRobotSig = GenerateTestUserSig.genTestUserSig(sdkAppId, aiRobotId, sdkSecretKey);startParams.agentConfig = AIConversationDefine.AgentConfig.generateDefaultConfig(aiRobotId, aiRobotSig);startParams.secretId = "xxx"; // 3、Replace your secretIdstartParams.secretKey = "xxx"; // 4、Replace your secretKey// 5、Replace your llmConfigstartParams.llmConfig = "{\"LLMType\":\"openai\",\"Model\":\"hunyuan-turbo-latest\",\"SystemPrompt\":\"你是一个私人助手\",\"APIUrl\":\"https:xxx\",\"APIKey\":\"xxx\",\"History\":5,\"Streaming\":true}";// 6、Replace your ttsConfigstartParams.ttsConfig = "{\"TTSType\":\"tencent\",\"AppId\":\"xxx\",\"SecretId\":\"xxx\",\"SecretKey\":\"xxx\",\"VoiceType\":\"502001\",\"Speed\":1.25,\"Volume\":5,\"PrimaryLanguage\":1,\"FastVoiceType\":\"\"}";Intent intent = new Intent(this, AIConversationActivity.class);intent.putExtra(KEY_START_AI_CONVERSATION, startParams);startActivity(intent);
val startParams = AIConversationDefine.StartAIConversationParams()val sdkAppId = 1400000001 // 1、Replace your sdkAppIdval sdkSecretKey = "xxxx" // 2、Replace your sdkSecretKeyval aiRobotId = "robot_" + TUILogin.getUserId()val aiRobotSig = GenerateTestUserSig.genTestUserSig(sdkAppId, aiRobotId, sdkSecretKey)startParams.agentConfig = AIConversationDefine.AgentConfig.generateDefaultConfig(aiRobotId, aiRobotSig)startParams.secretId = "xxx" // 3、Replace your secretIdstartParams.secretKey = "xxx" // 4、Replace your secretKey// 5、Replace your llmConfigstartParams.llmConfig = "{\"LLMType\":\"openai\",\"Model\":\"hunyuan-turbo-latest\",\"SystemPrompt\":\"你是一个私人助手\",\"APIUrl\":\"https:xxx\",\"APIKey\":\"xxx\",\"History\":5,\"Streaming\":true}"// 6、Replace your ttsConfigstartParams.ttsConfig = "{\"TTSType\":\"tencent\",\"AppId\":\"xxx\",\"SecretId\":\"xxx\",\"SecretKey\":\"xxx\",\"VoiceType\":\"502001\",\"Speed\":1.25,\"Volume\":5,\"PrimaryLanguage\":1,\"FastVoiceType\":\"\"}"val intent = Intent(this, AIConversationActivity::class.java)intent.putExtra(KEY_START_AI_CONVERSATION, startParams)startActivity(intent)
1. sdkAppId 和 sdkSecretKey 使用 步骤四 获取的数据即可。
2. 在应用详情页,选择 RTC-Engine > Conversational AI,配置 AI 对话参数,包括基础配置、STT、LLM、TTS,点击右下角的快速跑通,切换到 Android,获取 SecretId、SecretKey 和 Config 参数。

3. 将云 API 的 SecretId 和 SecretKey 复制到
startParams.secretId
和startParams.secretKey
中。4. 将 Config 信息复制到 Json 解析工具中,如 JsonUtil,将 LLMConfig 对应的字符串值复制到
startParams.llmConfig
,将 TTSConfig 对应的字符串值复制到startParams.ttsConfig
中。说明:
开发环境:如果您正在本地开发调试阶段,可以采用上述方式快速集成 AI 对话。该方法中账号信息很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量。
生产环境:如果您的项目要发布上线,请将上述账号信息保存到服务端中,避免流量被盗用;相关对话配置,也可以保存到服务端中,方便动态调整 AI 对话效果。
交流与反馈
您在接入或使用过程有任何疑问或者建议,欢迎联系:info_rtc@tencent.com 。