本文默认读者已经具有基础的 Android 知识,以及项目工程结构如下:
Getui_SDK_Demo_AS_official/
|- app/ (项目主模块)
| |- libs/ (第三方库)
| |- src/ (代码目录)
| |- build.gradle (模块级 gradle 文件)
|- gradle/
|- build.gradle (顶层 gradle 文件)
|- settings.gradle
| ......
注:其中 “......” 表示省略其他与本教程无关的内容,以下 “......” 表示相同意义,不再重复说明。
请参考 创建应用 获取相应的AppID信息。该信息在之后的步骤配置中将会使用。
在项目根目录 build.gradle 文件的 allprojects.repositories 块中,添加个推 maven 库地址 maven { url "https://mvn.getui.com/nexus/content/repositories/releases/"},如下所示:
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
......
}
}
allprojects {
repositories {
mavenCentral()
google()
maven { url 'https://jitpack.io' }
//个推仓库地址
maven {
url "https://mvn.getui.com/nexus/content/repositories/releases/"
}
}
}
配置 SDK 依赖及应用参数:在 app/build.gradle 文件的 dependencies 块中引用个推 SDK 依赖 implementation 'com.getui:aisdk:${version}',此处的 ${version} 为对应的 SDK 版本号,并在android.defaultConfig 下添加 manifestPlaceholders,配置个推相关的应用参数, 如下所示:
......
android {
defaultConfig {
manifestPlaceholders = [
GETUI_APPID : "your appid",
]
}
......
}
dependencies {
api 'com.getui:aisdk:2.0.0.0' //AI SDK
api 'com.getui:gtc:3.3.1.0' //个推核心组件
}
为确保AISDK能稳定运行,SDK需要以下权限,aar包中的manifest已默认添加
</manifest>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
SDK需要先初始化才能正常运行,建议您在Application或首页的OnCreate方法中,初始化AISDK。请参考下列代码实现初始化方法:
AiManager.getInstance().initialize(getApplicationContext(), new Callback<String>() {
@Override
public void onFailure(Throwable t) {
//初始化失败
Log.e("AISDK", "初始化失败", t);
}
@Override
public void onResponse(String response) {
//初始化成功,返回 'sdk init success'
Log.d("AISDK", "初始化成功: " + response);
}
});
注意:后续SDK所有的API调用都依赖初始化成功,请确保onResponse完成后再调用其他接口
SDK需要确保初始化成功后才能进行AI会话
//true表示打开智能体页面;false表示不打开,开发者可根据response里的url自行处理
AiManager.getInstance().loadAgent("{替换为你的agentId}", true, new Callback<String>() {
@Override
public void onFailure(Throwable t) {
Log.e("AISDK", "loadAgent failed", t);
}
@Override
public void onResponse(String response) {
Log.e("AISDK", "loadAgent success");
}
});


以上文档对您是否有帮助?