快速跑通

最近更新时间:2024-09-03 12:56:01

我的收藏
本文将介绍如何快速完成数智人 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.Virtualman
android:id="@+id/virtualman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints" />
在 activity onCreate 中调用 init 方法进行初始化
// "xxx"为需要传入的32位字符串格式的数智人appkey、accessToken和virtualmanProjectId
private 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 {
// 数智人key
const val APP_KEY = "xxx"
// 数智人token
const val ACCESS_TOKEN = "xxx"
// 数智人virtualmanProjectId
const val VIRTUALMAN_PROJECT_ID = "xxx"

// ASR账号 app id
const val ASR_APP_ID = xxx
// ASR账号 SecretId
const val ASR_SECRET_ID = "xxx"
// ASR账号 SecretKey
const 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和virtualmanProjectId
mIvhParams.modelPath = "xx.glb"
mIvhParams.configPath = "xx.json"
mIvhParams.appkey = "xxxx"
mIvhParams.accesstoken = "xxxx"
mIvhParams.virtualmanProjectId = "xxxx"
...