接口调用

最近更新时间:2025-01-15 17:14:53

我的收藏
本章将展示 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 initAdvSdk(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
人脸核身控制台内申请的 SDKlicense
String
以实际申请为准

个性化参数设置(可选)

WbCloudFaceVerifySdk.initPlusSdk() 里 WbFaceVerifyConfig,除了必须要传的 InputData 对象之外,还可以由合作方为其传入一些个性化参数,量身打造更契合自己 App 的 SDK。如果合作方未设置这些参数,则以下所有参数按默认值设置。
合作方可以选择 SDK 样式。目前 SDK 有黑色模式和白色模式两种,默认显示白色模式。设置代码如下:
//对 sdk 样式进行设置,默认为白色模式
//此处设置为白色模式
wbFaceVerifyConfig.themeMode = ThemeMode.Light
SDK 还支持自定义皮肤,支持定制刷脸过程中各个组件的色值。使用自定义皮肤时需要设置:
wbFaceVerifyConfig.themeMode = ThemeMode.Custom
并在App的resources/rawfile目录中新建wbcf_custom.json主题配置文件:
可配置的颜色值参考 json 文件如下:
{
"name": "custom",
"statusBarStyle": "light",
"navbarTintColor": "#ffffff",
"baseNavBarColor": "#0",
"authNavBarColor": "#22252A",
"imageBgColor": "#22252A",
"faceNormalColor": "#33FFFFFF",
"faceSatisfyColor": "#5065FF",
"faceErrorColor": "#EB4140",
"guideLabelColor": "#ffffff",
"guideLabelErrorColor": "#EB4140",
"customTipsColor": "#FFFFFF",
"bottomTipsBgColor": "#0DFFFFFF",
"bottomTipsTextColor": "#80FFFFFF",
"backButtonImage": "app.media.wbcf_back_white",
"authBackButtonImage": "app.media.wbcf_back_white",
"authBodyImage_651": "app.media.wbcf_protocal_img",
"authBodyImage_will": "app.media.wbwf_auth_head_image",
"authCheckboxHighlightColor": "#5065FF",
"authCheckboxTipsColor": "#FFFFFF",
"authCheckboxLinkColor": "#6F80FF",
"authAgreeButtonNormalColor": "#B7C0FF",
"authAgreeButtonHighlightColor": "#5065FF",
"authAgreeTextNormalColor": "#FFFFFF",
"authAgreeTextHighlightColor": "#FFFFFF",
"authTipBackgroundColor_651": "#292C31",
"authTipTitileTextColor_651": "#ADB1C6",
"authTipDetailTextColor_651": "#80FFFFFF",
"alertTitleColor": "#000000",
"alertMessageColor": "#000000",
"alertLeftBtnColor": "#5065FF",
"alertRightBtnColor": "#5065FF",
"alertBackgroundColor": "#FFFFFF"
}

合作方个性化提示定制(国际化语言模式下不支持)

合作方可以设置定制的提示语,通过配置传给 SDK。自定义提示语分为短提示(不长于17个字符)和长提示(不长于70个字符)。如果不设置,默认无。如果超过字数限制,将会被截断显示。 自定义短提示分为验证阶段提示和上传阶段提示,可以分开设置。位置可以选择位于预览圆框的上方或者下方。默认自定义短提示位于预览圆框下方。若设置自定义短提示位于预览圆框上方的话,SDK 过程提示将自动调整到圆框下方。 设置代码如下:
let uiConfig: WbUiConfig = new WbUiConfig();
//设置合作方定制提示语的位置,默认为识别框的下方
//识别框的下方: CustomTipsLocation.Bottom
//识别框的上方: CustomTipsLocation.Top
uiConfig.tipsLocation = CustomTipsLocation.Bottom
//此处将设置人脸采集时的个性化提示语
uiConfig.customTipsInDetect = "扫描人脸后与您身份证进行对比"
//此处将设置上传人脸时的个性化提示语
uiConfig.customTipsInUpload = "已提交审核,请等待结果"
uiConfig.bottomCustomTips = cache.bottomCustomTips
wbFaceVerifyConfig.uiConfig = uiConfig
自定义长提示位于整个验证页面的下方,存在于整个刷脸流程中,不能设置位置和时机。长提示的显示除了设置代码外,还需邮件申请开通,详情请联系我们。设置代码如下:
uiConfig.bottomCustomTips = customerLongTip