接口调用

最近更新时间:2024-07-03 18:06:31

我的收藏
本章将展示 SDK 核心接口的调用方法。具体的代码示例参考交付 Demo(demo/module/src/main/ets/pages/HuiYanModePage.ets)。
注意:
以下文章出现 “刷脸” 一词均可以表示为 “人脸核身”。

SDK 接口调用方法

SDK 代码调用的入口为:WbCloudFaceVerifySdk 这个类。
export class WbCloudFaceVerifySdk {

/**
* 该类为一个单例,需要先获得单例对象再进行后续操作
*/
public static getInstance(): WbCloudFaceVerifySdk {
}

/**
* 在使用SDK前先初始化,传入需要的数据WbFaceVerifyConfig
* 由 WbCloudFaceVerifyLoginCallback返回是否登录SDK成功
* 关于传入WbFaceVerifyConfig见后面的说明
*/
public initSdk(context: Context, config: WbFaceVerifyConfig, loginCallback: WbCloudFaceVerifyLoginCallback) {
}

/**
* 登录成功后,调用此函数拉起sdk页面。
* 由 WbCloudFaceVerifyResultCallback返回刷脸结果。
*/
public startWbFaceVerifySdk(context: Context, resultCallback: WbCloudFaceVerifyResultCallback) {
}

/**
* 拿到刷脸结果后,释放资源, 防止内存泄漏
* 【注意】请务必在拿到刷脸结果后释放资源,否则可能会发生丢失回调的情况!
*/
public release() {
}
}


WbCloudFaceVerifySdk.initSdk() 的第二个参数 config: WbFaceVerifyConfig 用来传递 sdk 初始化必需数据和 sdk 配置项参数。
export class WbFaceVerifyConfig {
//sdk初始化必需数据
public inputData: InputData;
//是否开启日志,默认不打开sdk日志,
//【注意】上线请务必关闭sdk日志!
public isEnableLog: boolean = false;
}
必须传递的参数包括(参考要求详见本页接口参数说明的描述):
//这些都是InputData对象里的字段,是需要传入的数据信息
export class InputData {
//此次刷脸用户标识,合作方需要向人脸识别后台拉取获得,详见获取faceId接口
public faceId: string;
//订单号
public orderNo: string;
//APP_ID
public appId: string;
//openapi Version
public version: string;
//32位随机字符串
public nonce: string;
//User id
public userId: string;
//签名信息
public sign: string;
////在人脸核身控制台内申请
public licence: string;
}

关于接口调用的示例可参考接入示例

接口参数说明

InputData 对象说明
InputData 是用来给 SDK 传递必须参数所需要使用的对象,合作方需要往里塞入SDK 需要的一些数据以便启动刷脸 SDK。
其中 InputData 对象中的各个参数定义如下表,请合作方按下表标准传入对应的数据。
参数
说明
类型
长度(字节)
是否必填

faceId
刷脸id号,由合作方向人脸识别后台拉取获得
String
-
orderNo
订单号,合作方订单的唯一标识
String
32
appId
业务流程唯一标识,即wbappid,可参考 获取WBappid 指引在人脸核身控制台内申请
String
8
version
接口版本号,默认填1.0.0
String
20
nonce
32 位随机字符串,每次请求需要的一次性 nonce
String
32
userId
User Id,每个用户唯一的标识
String
30
sign
String
40
licence
在人脸核身控制台内申请
String
以实际申请为准

个性化参数设置(可选)

WbCloudFaceVerifySdk.initSdk() 里 WbFaceVerifyConfig,除了必须要传的 InputData 对象之外,还可以由合作方为其传入一些个性化参数,量身打造更契合自己 App 的 SDK。如果合作方未设置这些参数,则以下所有参数按默认值设置。
(暂不支持,后续 sdk 版本将逐步更新)