使用说明
本文介绍如何在你的项目中集成和使用远鉴人脸活体检测插件。
技术原理
远鉴人脸活体检测插件是对活体检测核心 API 的封装。通过声网 SDK v4.x 提供的 setExtensionProperty
方法,传入指定的 key
和 value
参数,你可以快速集成远鉴的活体检测能力。
setExtensionProperty
方法的 key
参数与远鉴的 API 名称完全对应,value
参数以 JSON 格式包装该 API 的部分或全部参数。因此,调用该方法时只要传入指定的 key
和 value
,就可以调用对应的远鉴 API,实现活体检测的有关功能。
前提条件
Android 开发环境需满足以下要求:
- Android Studio 4.1 以上版本。
- 运行 Android 5.0 或以上版本的真机(非模拟器)。
示例项目
远鉴人脸活体检测插件提供了 GitHub 示例项目,你可以前往克隆或下载并进行体验。
平台 | 语言 | 示例代码 |
---|---|---|
Android | Java | FosaferAgoraDemo/android |
iOS | Objective-C | FosaferAgoraDemo/ios |
运行步骤
参考以下步骤快速跑通示例项目:
-
克隆仓库:
Shellgit clone https://github.com/AgoraIO-Usecase/FosaferAgoraDemo.git
-
进入声网控制台 > 云市场页面,下载远鉴人脸活体检测插件的 Android 插件包。解压后,将所有
.aar
文件保存到app/libs
。 -
在 Android Studio 中打开示例项目
FosaferAgoraDemo
。 -
将项目与 Gradle 文件同步。
-
打开
app/src/main/java/com/fosafer/voicenet1/Constants
,进行如下修改:- 将
<YOUR_APP_ID>
替换为你的 App ID。获取 App ID 请参考开通服务。 - 将
<YOUR_APP_KEY>
和<YOUR_APP_SECRET>
分别替换为你的appKey
和appSecret
。获取方式详见购买和激活插件。
Javapublic interface Constants {
String mAppId = "<YOUR_APP_ID>";
String mAppKey = "<YOUR_APP_KEY>";
String mAppSecret = "<YOUR_APP_SECRET>";
} - 将
-
连接一台 Android 真机(非模拟器),运行项目。
预期效果
运行成功后,示例项目会安装到你的设备上。
- 启动 App,你可以在界面上看到进入按钮。
- 点击进入跳转到活体检测页面,手机竖直后开始进行人脸识别。
- 识别结束后会跳转到结果页。
集成和调用流程
1. 集成 SDK 和插件
开始前,你需要在项目中分别集成声网视频 SDK 和远鉴人脸活体检测插件。
1.1 使用声网 SDK 实现音视频互动
插件需要与 RTC SDK 搭配使用。参考以下文档集成 RTC SDK 并实现基础的音视频互动:
1.2 购买和激活插件
你需要进入声网控制台 > 云市场页面,按照提示购买远鉴人脸活体检测插件。购买后需要保存好获取到的 appKey
和 appSecret
,用于后续初始化插件。
1.3 集成插件
参考以下步骤集成插件:
-
进入声网控制台 > 云市场页面下载远鉴人脸活体检测插件的 Android 插件包。解压后,将所有
.aar
文件保存到项目文件夹的/app/libs
路径。 -
打开
app/build.gradle
文件,在dependencies
中添加如下行:Javaimplementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
2. 启用插件
初始化声网 RtcEngine
时,调用 enableExtension
开启插件。
RtcEngineConfig config = new RtcEngineConfig();
// 监听插件事件,用于接收 onEvent 回调
config.mExtensionObserver = this;
mRtcEngine = RtcEngine.create(config);
// 开启插件
mRtcEngine.enableExtension("fosafer", "alive", enabled);
3. 初始化插件
// 初始化活体检测模块
FosaferManager fosaferManager = new FosaferManager();
// 用户传入获取的 appKey 和 appSecret
fosaferManager.init(this, mRtcEngine, appkey, appsecret);
4. 接收识别结果
成功开始识别后,远鉴人脸活体检测插件会通过 onEvent
回调返回识别结果。你需要根据返回的数据,做对应的处理。
public void onEvent(String vendor, String key, String value) {
// vendor 即为上述注册插件时的 VENDOR_NAME,key/value 是插件消息的键值对
if (TextUtils.equals(key, "text")) {
// 更新提示语句
} else if (TextUtils.equals(key, "result")) {
// 活体检测结果处理
} else {
// 初始化引擎失败
}
}