为人脸核身 SDK 添加依赖的方式:将提供的 AAR 文件加入到 App 工程的 libs 文件夹下面,并且在 build.gradle 中添加下面的配置。
android{
//...
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
}
//添加依赖
dependencies {
// json依赖
implementation 'com.alibaba:fastjson:1.2.73'
// okHttp依赖
implementation 'com.squareup.okhttp3:okhttp:4.0.0'
// 加入sl4j安卓包,保证jar包里的日志可以正常打印
implementation 'org.slf4j:slf4j-api:1.7.30
implementation 'uk.uuid.slf4j:slf4j-android:1.7.30-0'
// cepm_common.aar
implementation(name: 'cepm_common', ext: 'aar')
// 活体核身
implementation(name: 'faceidsdk', ext: 'aar')
}
在AndroidManifest.xml中添加
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
视频核身:
# 在MainActivity中单击某个按钮的代码逻辑
FaceidSDK.InputData inputdata=FaceidSDK.getInstance().new InputData(name.getText().toString(),idNum.getText().toString(), videoType);
Credential credential = new Credential();
credential.setSysName("XXXX").setPassword("XXXX").setUserCode("XXXX").setUrl("https://cepmtest.dhcccloud.com.cn/gateway");
FaceidSDK.getInstance().init(MainActivity.this, credential,new FaceidSDK.FaceidLoginListener() {
@Override
public void onLoginSuccess() { //登录成功,拉起 SDK 页面
FaceidSDK.getInstance().startActivity(MainActivity.this,inputdata, new FaceidSDK.FaceidResultListener() {
@Override
public void onFailed(String errorCode, String errorMsg) {
txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
}
@Override
public void onFinish(FaceidSDK.OutputData result) {
txtresult.setText("操作完成:识别结果"+result.isSuccess()+";相似分数"+result.getScore());
}
});
}
@Override
public void onLoginFailed(String errorCode, String errorMsg) {
}
});
完整demo下载 (跳转后点击查看原始文件)
SDK 代码调用的入口为 FaceidSDK
这个类。
public class FaceidSDK {
/**
* 该类为一个单例,需要先获得单例对象再进行后续操作
*/
public static FaceidSDK getInstance(){
// ...
}
/**
* 在使用SDK前先初始化,
* 传入证书key `credential`,
* 由 FaceidLoginListener返回是否初始化SDK成功
*/
public void init(Context context,Credential credential, FaceidLoginListener loginListerner){
// ...
}
/**
* 初始化成功后,调用此函数拉起sdk页面。
* 传入InputData(身份证,姓名,动作类型)
* 由FaceidResultListener返回人脸核身结果。
*/
public void startActivity(Context context, InputData data,FaceidResultListener resultListener) {
// ...
}
/**
* 初始化回调接口
*/
public interface FaceidLoginListener {
void onLoginSuccess();
void onLoginFailed(String errorCode, String errorMsg);
}
/**
* 人脸核身结果回调接口
*/
public interface FaceidResultListener{
void onFailed(String errorCode, String errorMsg);
void onFinish(OutputData result);
}
startActivity()
的第二个参数InputData用来传递数据:
String name; //姓名
String idNum; //身份证
FaceidSDK.VideoType videoType;//LIP数字模式,ACTION动作模式, SILENT静默模式
以上参数被封装在
FaceidSDK.InputData
对象中。
关于接口调用的示例可参考 接入示例
参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
---|---|---|---|---|
name | 核验人的姓名 | String | - | 是 |
idNum | 核验人的身份证号 | String | 32 | 是 |
videoType | 人脸核身类型 动作活体:FaceidSDK.VideoType.ACTION 数字活体:FaceidSDK.VideoType.LIP 静默活体:FaceidSDK.VideoType.SILENT |
FaceidSDK.VideoType | - | 是 |