本章将展示 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_IDpublic appId: string;//openapi Versionpublic version: string;//32位随机字符串public nonce: string;//User idpublic userId: string;//签名信息public sign: string;////在人脸核身控制台内申请public licence: string;}
接口参数说明
InputData 对象说明
InputData 是用来给 SDK 传递必须参数所需要使用的对象,合作方需要往里塞入 SDK 需要的一些数据以便启动刷脸 SDK。
其中 InputData 对象中的各个参数定义如下表,请合作方按下表标准传入对应的数据。
参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
faceId | 刷脸 id 号,由合作方向人脸识别后台拉取获得 | String | - | 是 |
orderNo | 订单号,合作方订单的唯一标识 | String | 32 | 是 |
appId | String | 8 | 是 | |
version | 接口版本号,默认填1.0.0 | String | 20 | 是 |
nonce | 32 位随机字符串,每次请求需要的一次性 nonce | String | 32 | 是 |
userId | User Id,每个用户唯一的标识 | String | 30 | 是 |
sign | String | 40 | 是 | |
licence | String | 以实际申请为准 | 是 |
个性化参数设置(可选)
WbCloudFaceVerifySdk.initPlusSdk() 里 WbFaceVerifyConfig,除了必须要传的 InputData 对象之外,还可以由合作方为其传入一些个性化参数,量身打造更契合自己 App 的 SDK。如果合作方未设置这些参数,则以下所有参数按默认值设置。
合作方可以选择 SDK 样式。目前 SDK 有黑色模式和白色模式两种,默认显示白色模式。设置代码如下:
//对 sdk 样式进行设置,默认为白色模式//此处设置为白色模式wbFaceVerifyConfig.themeMode = ThemeMode.LightSDK 还支持自定义皮肤,支持定制刷脸过程中各个组件的色值。使用自定义皮肤时需要设置: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.TopuiConfig.tipsLocation = CustomTipsLocation.Bottom//此处将设置人脸采集时的个性化提示语uiConfig.customTipsInDetect = "扫描人脸后与您身份证进行对比"//此处将设置上传人脸时的个性化提示语uiConfig.customTipsInUpload = "已提交审核,请等待结果"uiConfig.bottomCustomTips = cache.bottomCustomTipswbFaceVerifyConfig.uiConfig = uiConfig
uiConfig.bottomCustomTips = customerLongTip