本文将介绍如何快速完成数智人 Android SDK 的接入,您可以在10分钟内完成接入工作,并最终得到一个包含完备 UI 的数智人交互对话界面。
界面效果如下:
1. 服务端渲染快速接入
如果您想在自己的项目中快速接入数智人 Android 服务端渲染,可按照以下步骤完成快速接入。
1.1 接入 SDK
在 Android 的 App 目录下新建 libs 文件夹,并放入 virtualman-stream-sdk-release-X.X.X.aar,在 build.gradle 配置中增加如下依赖:
android {packagingOptions {exclude 'META-INF/DEPENDENCIES'exclude 'META-INF/NOTICE'exclude 'META-INF/LICENSE'exclude 'META-INF/LICENSE.txt'exclude 'META-INF/NOTICE.txt'}}dependencies {implementation 'com.google.code.gson:gson:2.9.0'implementation 'com.squareup.okhttp3:okhttp:4.10.0'implementation 'com.tencent.liteav:LiteAVSDK_Professional:latest.release'implementation files('libs/virtualman-stream-sdk-release-x.x.x.aar')}
1.2 必要权限
SDK 的正常使用需要录音、摄像头等权限,因此请在初始化之前请求相关权限。SDK 内部不做权限申请,只有权限检查,并在无权限情况下不进行功能初始化。具体权限如下列表:
permission.READ_EXTERNAL_STORAGE,permission.WRITE_EXTERNAL_STORAGE,permission.MODIFY_AUDIO_SETTINGS,permission.BLUETOOTH
1.3 初始化及销毁
在 xml 布局文件中添加如下组件代码
<com.tencent.virtualman.Virtualmanandroid:id="@+id/virtualman"android:layout_width="wrap_content"android:layout_height="wrap_content"tools:ignore="MissingConstraints" />
在 activity onCreate 中调用 init 方法进行初始化
// "xxx"为需要传入的32位字符串格式的数智人appkey、accessToken和virtualmanProjectIdprivate var mVirtualmanParams = VirtualmanParams()mVirtualmanParams.appkey = "xxx"mVirtualmanParams.accessToken = "xxx"mVirtualmanParams.virtualmanProjectId = "xxx"private var mVirtualman: Virtualman = findViewById(R.id.virtualman)mVirtualman.init(mVirtualmanParams)
在建流初始化成功后, 按需调用 sendText 方法对数智人后台发送文本
mVirtualman.sendText("你好")
在 activity onDestroy 中调用关闭的方法以关闭数智人流,否则会占用后台资源
mVirtualman.close()
2. 服务端渲染 Demo 示例运行
如果您想快速跑通运行服务端渲染 Demo 示例,或基于 Demo 进行改造开发,可按照以下步骤完成 Demo 的运行。
2.1 Demo 示例获取
2.2 修改必要配置
App 目录为接入 sdk 的 demo 示例,其中此 Demo 额外包含了腾讯云 ASR(语音识别)的示例,以及包含了基础的对话及消息展示的 UI 的示例,若要正常运行此 demo,需要在 app/src/main/java/Config 中配置您自己数智人项目的相关 key 和您腾讯云 ASR 相关的账号信息。
// 数智人及ASR等全局参数object Config {// 数智人keyconst val APP_KEY = "xxx"// 数智人tokenconst val ACCESS_TOKEN = "xxx"// 数智人virtualmanProjectIdconst val VIRTUALMAN_PROJECT_ID = "xxx"// ASR账号 app idconst val ASR_APP_ID = xxx// ASR账号 SecretIdconst val ASR_SECRET_ID = "xxx"// ASR账号 SecretKeyconst val ASR_SECRET_KEY = "xxx"}
3. 客户端渲染 Demo 示例运行
如果您想快速跑通运行客户端渲染 Demo 示例,或基于 Demo 进行改造开发,可按照以下步骤完成 Demo 的运行。
2.1 Demo 示例获取
2.2 修改必要配置
App 目录为接入 sdk 的 demo 示例,若要正常运行此 demo,首先需要将您自己项目的数智人模型资产放在 app/src/main/assets/中, 然后需要在 MainActivity.kt 中配置您自己数智人项目的相关 key 和模型资产路径等即可运行。
MainActivity.kt:...// 此处填写自己数智人的glb模型path, 模型配置path, appkey, accessToken和virtualmanProjectIdmIvhParams.modelPath = "xx.glb"mIvhParams.configPath = "xx.json"mIvhParams.appkey = "xxxx"mIvhParams.accesstoken = "xxxx"mIvhParams.virtualmanProjectId = "xxxx"...