Android SDK UI自定义配置说明

金融级实人认证服务Android SDK提供自定义UI颜色、icon图标和UI文案的接口,开发者可以通过调用setCustomUIConfigsetCustomTxtConfig接口进行自定义。本文为您介绍UI自定义接口说明以及相关的代码示例。

重要

部分自定义配置可能需要依赖SDK升级,建议您在使用之前将SDK升级至最新版本

自定义UI颜色和icon图标

目前仅支持自定义引导页活体认证页的颜色和icon图标。

接口说明

Android SDK中提供了自定义UI颜色和icon图标的接口:setCustomUIConfig

/**
 * @description 此接口用于设置自定义UI。
 * @param {int} paramType 参数类型,可传范围(
 *        ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_ASSETS_NAME
 *        /ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_PATH
 *        /ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_JSON)。
 * @param {String} param 参数值,paramType相对应的值。
 * @return 配置文件检测出的异常信息。
 */
public String setCustomUIConfig(int paramType, String param) {
 ...
}
  • 参数说明:

    名称

    类型

    说明

    paramType

    int

    配置自定义入参的类型:

    • ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_ASSETS_NAME

      传入App assets文件类型,param需要传入assets文件名称。

    • ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_PATH

      传入设备本地路径,params需要传入配置文件的设备绝对路径地址。

    • ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_JSON

      传入JSON字符串,params需传入JSON格式的数据。

    param

    String

    paramType配套调用。

  • 返回值:String类型,当SDKparam内容解析遇到错误或出现异常信息时会通过提示信息的方式返回。当配置参数无效时,请重点关注返回值信息。

示例代码

//传入文件路径
File file = new File(getFilesDir() + "/dtf/config_test/DTFConsumUIConfig.json");
String path = file.getAbsolutePath();
int paramType = ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_PATH;
customUIErrMsg = zimFacade.setCustomUIConfig(paramType, path);

//传入assets文件名
String fileName = "DTFConsumUIConfig.json";
int paramType = ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_ASSETS_NAME;
customUIErrMsg = zimFacade.setCustomUIConfig(paramType, fileName);

//传入JSON字符串
String jsonConfig="";
int paramType = ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_JSON;
customUIErrMsg = zimFacade.setCustomUIConfig(paramType, jsonConfig);

字段定义

字段列表

{
  "guideConfig": {
    "titleColor": "#111111",
    "titleBackPath": "",
    "titleBackBase64": "",
    "titleClosePath": "",
    "titleCloseBase64": "",
    "bannerImg": "",
    "agrtUnSelColor": "#c5c5c5",
    "agrtSelBgColor": "#ff6a00",
    "agrtAgreeColor": "#333333",
    "agrtColor": "#ff6a00",
    "startBtnColor": "#ffffff",
    "agrtBotTipsColor": "#333333",
    "startBtnDisColor": "#ffffff",
    "startBtnBgColor": "#ff6a00",
    "startBtnDisBgColor": "#d9d9d9",
    "elderBtnDisColor": "#ffffff",
    "elderBtnBgColor": "#f0f0f0",
    "elderBtnDisBgColor": "#d9d9d9",
    "exitBtnColor": "#333333",
    "exitBtnBgColor": "#ffffff",
    "elderBtnColor": "#ff6a00",
    "rareFormEntBtnColor": "#ff6a00",
    "permissionToastBgColor": "#ffffff",
    "permissionToastTitleColor": "#000000",
    "permissionToastMsgColor": "#000000",
    "dialogExitTitleColor": "#000000",
    "dialogExitMsgColor": "#000000",
    "dialogExitCancelColor": "#0E83E6",
    "dialogExitConfirmColor": "#0E83E6",
    "dialogPermissionFailedTitleColor": "#000000",
    "dialogPermissionFailedMsgColor": "#000000",
    "dialogPermissionFailedConfirmColor": "#0E83E6",
    "dialogSupportFailedTitleColor": "#000000",
    "dialogSupportFailedMsgColor": "#000000",
    "dialogSupportFailedConfirmColor": "#0E83E6",
    "dialogNetworkFailedTitleColor": "#000000",
    "dialogNetworkFailedMsgColor": "#000000",
    "dialogNetworkFailedConfirmColor": "#0E83E6"
  },
  "faceConfig": {
    "faceBgColor": "#FFFFFF",
    "faceTitleColor": "#000000",
    "circleTxtBgAlpha": "0.25",
    "dialogBgAlpha": "0.25",
    "faceProgressStartColor": "#dfe6eb",
    "faceProgressEndColor": "#FF6A00",
    "circleTxtColor": "#ffffff",
    "exitIconPath": "",
    "exitIconBase64": "",
    "submitTextColor": "#E4E4E4",
    "submitLoadingIconBase64": "",
    "submitLoadingIconPath": "",
    "dialogExitTitleColor": "#000000",
    "dialogExitMsgColor": "#000000",
    "dialogExitCancelColor": "#0E83E6",
    "dialogExitConfirmColor": "#0E83E6",
    "dialogTimeOutTitleColor": "#000000",
    "dialogTimeOutMsgColor": "#000000",
    "dialogTimeOutConfirmColor": "#0E83E6",
    "dialogNetworkFailedTitleColor": "#000000",
    "dialogNetworkFailedMsgColor": "#000000",
    "dialogNetworkFailedConfirmColor": "#0E83E6",
    "dialogArchSysFailedTitleColor": "#000000",
    "dialogArchSysFailedMsgColor": "#000000",
    "dialogArchSysFailedConfirmColor": "#0E83E6",
    "dialogTooManyRetriesTitleColor": "#000000",
    "dialogTooManyRetriesMsgColor": "#000000",
    "dialogTooManyRetriesConfirmColor": "#0E83E6",
    "dialogInterruptTitleColor": "#000000",
    "dialogInterruptMsgColor": "#000000",
    "dialogInterruptConfirmColor": "#0E83E6",
    "dialogInterruptCancelColor": "#0E83E6",
    "dialogSDKErrTitleColor": "#000000",
    "dialogSDKErrMsgColor": "#000000",
    "dialogSDKErrConfirmColor": "#0E83E6",
    "dialogCamOpenFailedTitleColor": "#000000",
    "dialogCamOpenFailedMsgColor": "#000000",
    "dialogCamOpenFailedConfirmColor": "#0E83E6",
    "dialogCamOpenFailedCancelColor": "#0E83E6",
    "noticeIconPath": "",
    "noticeIconBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAAEgElEQVRYCc1ZW2gVVxRd10d9pcVXo0arxkiKGlFr/bAgCPql+IoRW1pBabUqSqXQ74mW9qP40VJKWxFLERVFjREjih8qfuiHQUQtWiMK1sQY2oqPpL4yXevee8zM3Jm558abeDdszpmzH2fNnjP77DOTQCfJdd0ymi4iTyeXeJhdNHq4nv3aRCJxQ4IuJYIqJm8hXyLnSrKRbXHeQdJpEdkhPyS/KsmHQy7KC1A6qiTfJeeb5LOy0yBpnCA75HZyV5F8O+RETkBp0I+8j9xdpLn6WYGkoiLXneBMEDRn9khSyTEWubRtz1z3m2Ou++UB121oycXSp+sEo+hDTFUt2v1k33jQKHjd9ABYtRO4cDslKeoDfF8FLJgc1Mx67VKjijnzoNF8CYTg9No3kIcZYbb20RNgz3nguxPAg/8ytRdPAb6aC4x/O1MWM9JM2XiCfCQdL0CFt1qDQXrRDtRdAS7+BbTzHv9pBW60AFeagNanQe3M63Km5nLe9oi3gL69gSEDgGXvAUPZRlA1AW6WLAmQ0VN211YUmjx/PkPkdVLPH70/mje9PtKfoldGkPd6pFU2sg0FJ/k1BT3P9Oe9WIfCskEaBuDiWPXXI1ySBMjHq6qk4vVgiJ21QtgUQZVMXUbvDAJObQIOr+3UFIsEUPVcLPXuGSuOFJYOTQGbMDzzbbf0Ob0XvavYjKX+b8SKQ4VKLQdWA8VvAmdvAp/u8qtZ+ixRBLMCHBAC8LcVgFi7RpAmjQAOfZ4Cd/o68NEO4DGTupfCfHrl6b4dwJKBftMEs2cZd4d5k7gvMkoD+3fIp44CDq5JJeMTV4EVvwNtzzrkphf0acYDbRKg9r9YGjvYL3Zpoajc+huYJkAEqd1hxhgC/oyAWTgd5c6j/fnJc7+tuSodYnqxras1yA0LXCnRNJGPTFETMEN37gMLf02tMz3SI+uA4dzKtLZqLjLL7gOevzDama1sLKhJa7Axm+JgPkIt+iA1s4pZQpB/3AXG8Y0VuL31wPq98eDkZ2Zp0FvodaMVQJnOeTfUAVq4a1ZuSz3SH04CX+xnQcHiIo7G8vHqhiwoCZD3nJ2WTo3W+bc1td6+Pe5fBlEWVdOiJBnj9YpgbcZwyEAFk9Hs8hBBjkNKS6tmWhvV9mBJozLrso2JM4/VhW7pFWjj7Ng60Ov5srCZ6Wq8kqj+RG5Zy1lodpZGMp+unWVtncTE5KF1E1+wel0+fsrqgm/upTve0ex97Rw13F2mjMyuSw2+ep6CVZUrB7bamGqi3SsBVSm21IvFxvZPrMHJ7dY0Jt+ZpIiCBrLVoan5IbBmN3DupvxF0zAm718+BD4YF60TkKh+zzw0SYmPupINM1kHcI1HkQ5TP54GfiIHT3V6mZSaqudbvxSaRntV+LHTgCBIh/1qc23T3m9LHT/rmAtUtSgdfTwj5+Ompnp5mouclwAL+9OHkBNk4X48MqFNR9JhW3if3wzIdDQL8wNmAGThfgIOANVH9K/J3fYRPbnVeUHY9glSB36dqXVs1cHLMLv5+w3xPyaCG6DbMlfXAAAAAElFTkSuQmCC",
    "noticeTxtColor": "#1677FF",
    "noticeBgColor": "#0F1677FF"
  },
  "docConfig": {
    "infoPageBgColor": "#FFFFFF",
    "infoDividerColor": "#F6F6F6",
    "exitIconPath": "",
    "exitIconBase64": "",
    "stageSelectedBgPath": "",
    "stageSelectedBgBase64": "",
    "stageDefaultBgPath": "",
    "stageDefaultBgBase64": "",
    "stageDoneBgPath": "",
    "stageDoneBgBase64": "",
    "stageLineDefaultColor": "#D8D8D8",
    "stageLineSelectedColor": "#FF6A00",
    "stageSelectedTxtColor": "#000000",
    "stageDefaultTxtColor": "#888888",
    "infoTipsColor": "#000000",
    "bottomTipsColor": "#888888",
    "takeRequestColor": "#FF6A00",
    "takeRequestTitleColor": "#FFFFFF",
    "takeRequestExitIconPath": "",
    "takeRequestExitIconBase64": "",
    "takeRequestImgPath": "",
    "takeRequestImgBase64": "",
    "takeEnterIconPath": "",
    "takeEnterIconBase64": "",
    "frontDefaultImgPath": "",
    "frontDefaultImgBase64": "",
    "backDefaultImgPath": "",
    "backDefaultImgBase64": "",
    "infoNoticeIconPath": "",
    "infoNoticeIconBase64": "",
    "infoNoticeBgColor": "#1FFF6A00",
    "infoNoticeTxtColor": "#FF6A00",
    "infoCertNameColor": "#000000",
    "infoCertNoColor": "#000000",
    "resultCertNameColor": "#000000",
    "resultCertNoColor": "#000000",
    "infoHintColor": "#E5484D",
    "cleanIconPath": "",
    "cleanIconBase64": "",
    "nextBgColor": "#FF6A00",
    "nextTxtColor": "#FFFFFF",
    "nextDisableBgColor": "#D8D8D8",
    "nextDisableTxtColor": "#FFFFFF",
    "dialogIdentifyFailTitleColor": "#000000",
    "dialogIdentifyFailExitIconPath": "",
    "dialogIdentifyFailExitIconBase64": "",
    "dialogIdentifyFailImgPath": "",
    "dialogIdentifyFailImgBase64": "",
    "dialogIdentifyFailTxtColor": "#000000",
    "dialogIdentifyFailHintColor": "#888888",
    "dialogIdentifyFailConfirmColor": "#FF6A00",
    "dialogNetworkErrTitleColor": "#000000",
    "dialogNetworkErrMsgColor": "#000000",
    "dialogNetworkErrConfirmColor": "#0E83E6",
    "dialogNetworkErrCancelColor": "#0E83E6",
    "dialogExitTitleColor": "#000000",
    "dialogExitMsgColor": "#000000",
    "dialogExitConfirmColor": "#0E83E6",
    "dialogExitCancelColor": "#0E83E6",
    "dialogFailTooManyTitleColor": "#000000",
    "dialogFailTooManyMsgColor": "#000000",
    "dialogFailTooManyConfirmColor": "#0E83E6",
    "dialogNoPermissionTitleColor": "#000000",
    "dialogNoPermissionMsgColor": "#000000",
    "dialogNoPermissionCancelColor": "#0E83E6",
    "dialogNoPermissionToSetColor": "#0E83E6",
    "takePhotoExitIconPath": "",
    "takePhotoExitIconBase64": "",
    "flashOnIconPath": "",
    "flashOnIconBase64": "",
    "flashOffIconPath": "",
    "flashOffIconBase64": "",
    "takePhotoTipColor": "#FFFFFF",
    "takePhotoIconPath": "",
    "takePhotoIconBase64": "",
    "photoRetakeIconPath": "",
    "photoRetakeIconBase64": "",
    "photoConfirmIconPath": "",
    "photoConfirmIconBase64": "",
    "takePhotoRectPath": "",
    "takePhotoRectBase64": "",
    "livenessTipsColor": "#000000",
    "livenessMsgColor": "#555555",
    "livenessImgPath": "",
    "livenessImgBase64": "",
    "livenessLoadingImgPath": "",
    "livenessLoadingImgBase64": "",
    "livenessLoadingMsgColor": "#FFFFFF",
    "livenessLoadingBgColor": "#000000",
    "takePhotoCoverAlpha": "0.8"
  }
}

字段详细说明

展开折叠面板查看字段详细说明。

自定义UI颜色和icon字段详细说明

模块

key

示例图

补充说明

guideConfig(引导页)

titleColor

image.png

标题刷脸认证字体颜色。

示例值“#111111”。

agrtTopTipsColor

image.png

协议顶部提示文本颜色。

示例“#111111”。

bannerImg

image.png

示例图。

仅可配置图片的本地路径。支持Base64格式(需要固定开头,例如:“data:image/jpeg;base64,/9j...”)。

说明
  • 不支持来源于外部网络链接的图片。

  • 图片过大可能无法成功应用,建议使用压缩后的图片。

agrtUnSelColor

image.png

勾选框未选中颜色。

agrtSelBgColor

image.png

勾选框选中颜色。

agrtAgreeColor

image.png

同意字体颜色。

agrtColor

image.png

《认证服务协议》颜色。

agrtBotTipsColor

image.png

同意认证后,……颜色。

startBtnBgColor

image.png

开始认证按钮背景颜色。

startBtnDisBgColor

image.png

未选中同意时,即按钮不可用状态下开始认证按钮的背景颜色。

startBtnDisColor

image.png

未选中同意时,即按钮不可用状态下开始认证按钮的文字颜色。

startBtnColor

image.png

开始认证按钮字体颜色。

exitBtnBgColor

image.png

暂不认证按钮背景颜色。

exitBtnColor

image.png

暂不认证按钮字体颜色。

elderBtnColor

image.png

长辈模式认证按钮字体颜色

适老化(选择)模式。

elderBtnBgColor

image.png

长辈模式按钮背景颜色

elderBtnDisBgColor

image.png

长辈模式认证按钮禁用(暂不可点)背景颜色

rareFormNameColor

image.png

生僻字模式,姓名字体颜色

生僻字模式。

rareFormIDColor

image.png

生僻字模式,身份证号字体颜色

rareFormEntBtnColor

image.png

生僻字模式,录入生僻字按钮文本颜色。

titleBackPath

标题栏返回icon路径/base64

标题栏返回icon图标。

路径优先级低于Base64编码。

titleBackBase64

titleClosePath

image.png

标题栏关闭icon路径/base64

标题栏关闭icon图标。

路径优先级低于Base64编码。

titleCloseBase64

permissionToastTitleColor

image.png

权限兜底toast的标题字体颜色。

permissionToastMsgColor

image.png

权限兜底toast的内容字体颜色。

permissionToastBgColor

image.png

权限兜底toast的内容颜色。

权限兜底toast背景颜色。

dialogPermissionFailedTitleColor

image.png

权限拒绝弹框配色。

dialogPermissionFailedMsgColor

dialogPermissionFailedConfirmColor

dialogSupportFailedTitleColor

image.png

系统/架构不支持弹框配色。

dialogSupportFailedMsgColor

dialogSupportFailedConfirmColor

dialogNetworkFailedTitleColor

image.png

网络异常弹框配色。

dialogNetworkFailedMsgColor

dialogNetworkFailedConfirmColor

dialogExitTitleColor

image.png

退出弹窗配色。

dialogExitMsgColor

dialogExitCancelColor

dialogExitConfirmColor

faceConfig(刷脸页)

faceBgColor

image.png

刷脸页背景色。

faceTitleColor

image.png

刷脸页标题字体颜色。

faceProgressStartColor

image.png

取景框(环形进度条)颜色起始色值。

faceProgressEndColor

image.png

取景框(环形进度条)颜色终止色值。

circleTxtBgAlpha

image.png

蒙层不透明度。

取值范围(0,1)。

circleTxtColor

image.png

蒙层上方文案颜色。

dialogBgAlpha

image.png

弹窗背景蒙层不透明度。

取值范围:(0,1)。

exitIconPath

image.png

退出图标路径。

exitIconBase64

退出icon图片Base64编码。

submitTextColor

image.png

认证提交loading提示文案字体颜色。

submitLoadingIconBase64

image.png

loading图标Base64编码。

submitLoadingIconPath

loading图标路径。

dialogExitTitleColor

image.png

退出弹框配色。

dialogExitMsgColor

dialogExitCancelColor

dialogExitConfirmColor

dialogTimeOutTitleColor

image.png

操作超时弹框配色。

dialogTimeOutMsgColor

dialogTimeOutConfirmColor

dialogNetworkFailedTitleColor

image.png

网络异常弹窗配色。

dialogNetworkFailedMsgColor

dialogNetworkFailedConfirmColor

dialogSDKErrTitleColor

image.png

操作失败弹窗配色。

dialogSDKErrMsgColor

dialogSDKErrConfirmColor

dialogTooManyRetriesTitleColor

image.png

重试过多弹框配色。

dialogTooManyRetriesMsgColor

dialogTooManyRetriesConfirmColor

dialogInterruptTitleColor

image.png

验证中断弹窗配色。

dialogInterruptMsgColor

dialogInterruptConfirmColor

dialogInterruptCancelColor

dialogArchSysFailedTitleColor

image.png

系统/架构不支持弹窗配色。

dialogArchSysFailedMsgColor

dialogArchSysFailedConfirmColor

dialogCamOpenFailedTitleColor

image.png

摄像头打开异常弹窗配色。

dialogCamOpenFailedMsgColor

dialogCamOpenFailedConfirmColor

noticeIconPath

image.png

业务提示图标路径。

需要打开SDK对应开关才会显示该配置。代码示例,请参见打开刷脸页业务提示开关示例代码

noticeIconBase64

业务提示图标Base64格式。

需要打开SDK对应开关才会显示该配置。代码示例,请参见打开刷脸页业务提示开关示例代码

noticeTxtColor

image.png

业务提示文案颜色。

需要打开SDK对应开关才会显示该配置。代码示例,请参见打开刷脸页业务提示开关示例代码

noticeBgColor

image.png

业务提示区域背景色。

需要打开SDK对应开关才会显示该配置。代码示例,请参见打开刷脸页业务提示开关示例代码

OCR页面

docConfig

infoPageBgColor

image.png

ocr识别信息页背景色

infoDividerColor

image.png

分隔条颜色

exitIconPath

image.png

关闭按钮路径

exitIconBase64

关闭按钮base64格式

stageSelectedBgPath

image.png

进度条节点选中背景图片路径

stageSelectedBgBase64

进度条节点选中背景图片base64格式

stageDefaultBgPath

image.png

进度条节点默认背景图片路径

stageDefaultBgBase64

进度条节点默认背景图片base64格式

stageDoneBgPath

image.png

进度条完成节点背景图片路径

stageDoneBgBase64

进度条完成节点背景图片base64格式

stageLineDefaultColor

image.png

进度条横线默认颜色

stageLineSelectedColor

image.png

进度条横线颜色

stageSelectedTxtColor

image.png

进度条文字选中状态颜色

stageDefaultTxtColor

image.png

进度条文字默认状态颜色

infoTipsColor

image.png

图片显示框上方提示文案颜色

bottomTipsColor

image.png

图片显示框下方提示文案颜色

takeRequestColor

image.png

“拍摄要求”文字颜色

takeRequestTitleColor

image.png

“拍摄要求”弹框标题颜色

takeRequestExitIconPath

image.png

拍摄要求弹框关闭按钮图片路径

takeRequestExitIconBase64

拍摄要求弹框关闭按钮图片base64格式

takeRequestImgPath

image.png

拍摄要求图片路径

takeRequestImgBase64

摄要求图片路径base64格式

takeEnterIconPath

image.png

拍摄图标路径

takeEnterIconBase64

拍摄图标base64格式

frontDefaultImgPath

image.png

身份证人像面默认图片路径

frontDefaultImgBase64

身份证人像面默认图片base64格式

backDefaultImgPath

image.png

身份证国徽面默认图片路径

backDefaultImgBase64

身份证国徽面默认图片base64格式

infoNoticeIconPath

image.png

识别信息确认提示图标路径

infoNoticeIconBase64

识别信息确认提示base64格式

infoNoticeBgColor

image.png

“识别信息确认提示”背景色

infoNoticeTxtColor

image.png

“识别信息确认提示”文字颜色

infoCertNameColor

image.png

识别结果“姓名”颜色

infoCertNoColor

image.png

识别结果“身份证号”颜色

resultCertNameColor

image.png

识别出的姓名的颜色

resultCertNoColor

image.png

识别出的身份证号颜色

infoHintColor

image.png

姓名/身份证号未填写提示颜色

cleanIconPath

image.png

信息删除图标路径

cleanIconBase64

信息删除图标base64格式

nextBgColor

image.png

页面底部按钮背景色

nextTxtColor

image.png

页面底部按钮文案色

nextDisableBgColor

image.png

页面底部按钮不可用时背景色

nextDisableTxtColor

image.png

页面底部按钮不可用时文字颜色

dialogIdentifyFailTitleColor

image.png

识别失败弹框title颜色

dialogIdentifyFailExitIconPath

image.png

“识别失败”弹框关闭按钮图标路径

dialogIdentifyFailExitIconBase64

“识别失败”弹框关闭按钮图标base64格式

dialogIdentifyFailImgPath

image.png

“识别失败”弹框图片路径

dialogIdentifyFailImgBase64

“识别失败”弹框图片base64格式

dialogIdentifyFailTxtColor

image.png

“识别失败”弹框中“证件图像未符合要求”文字颜色

dialogIdentifyFailHintColor

image.png

“识别失败”弹框中“请按要求拍摄...”文字颜色

dialogIdentifyFailConfirmColor

image.png

“识别失败”弹框,"重新拍摄"按钮文字颜色

dialogNetworkErrTitleColor

image.png

"网络异常"弹框配色

dialogNetworkErrMsgColor

image.png

dialogNetworkErrConfirmColor

image.png

dialogNetworkErrCancelColor

image.png

dialogExitTitleColor

image.png

“退出”弹框配色

dialogExitMsgColor

image.png

dialogExitConfirmColor

image.png

dialogExitCancelColor

image.png

dialogFailTooManyTitleColor

image.png

“识别失败次数过多”弹框配色

dialogFailTooManyMsgColor

image.png

dialogFailTooManyConfirmColor

image.png

dialogNoPermissionTitleColor

image.png

“摄像头权限引导弹框”配色

dialogNoPermissionMsgColor

image.png

dialogNoPermissionCancelColor

image.png

dialogNoPermissionToSureColor

image.png

livenessTipsColor

image.png

“跳转活体认证”页标题颜色

livenessMsgColor

image.png

“跳转活体认证”页提示颜色

livenessImgPath

image.png

“跳转活体认证”页图片路径

livenessImgBase64

“跳转活体认证”页图片base64格式

livenessLoadingImgPath

image.png

“跳转活体认证”页loading图片路径

livenessLoadingImgBase64

“跳转活体认证”页loading图片base64格式

livenessLoadingMsgColor

image.png

“跳转活体认证”页loading文字颜色

livenessLoadingBgColor

image.png

“跳转活体认证”页loading背景颜色

takePhotoCoverAlpha

image.png

拍照页蒙层透明度

takePhotoExitIconPath

image.png

关闭拍照页按钮图标路径

takePhotoExitIconBase64

关闭拍照页按钮图标base64格式

flashOnIconPath

image.png

闪光灯打开状态图标路径

flashOnIconBase64

闪光灯打开状态图标base64格式

flashOffIconPath

image.png

闪光灯关闭状态图标路径

flashOffIconBase64

闪光灯关闭状态图标base64格式

takeTipsColor

image.png

拍照提示文案颜色

takePhotoIconPath

image.png

“拍摄”按钮图标路径

takePhotoIconBase64

“拍摄”按钮图base64格式

photoRetakeIconPath

image.png

“重新拍摄”按钮图标路径

photoRetakeIconBase64

“重新拍摄”按钮图标base64格式

photoConfirmIconPath

image.png

“确认图片”图标路径

photoConfirmIconBase64

“确认图片”图标路径base64格式

takePhotoRectPath

image.png

拍照证件框图片路径

takePhotoRectBase64

拍照证件框图片base64格式

打开刷脸页业务提示开关示例代码如下:

ZIMFacade zimFacade = ZIMFacadeBuilder.create(MainActivity.this);
HashMap<String, String> extParams = new HashMap<>();
//如需打开刷脸页业务提示开关(默认可不设置),请设置此项,需要结合自定义UI的配置文件使用
extParams.put(ZIMFacade.ZIM_EXT_PARAMS_KEY_NEED_FACE_NOTICE, ZIMFacade.ZIM_EXT_PARAMS_VAL_NEED_FACE_NOTICE_TRUE);
zimFacade.verify(certifyId, true, extParams, new ZIMCallback() {
    @Override
    public boolean response(final ZIMResponse response) {
        return true;
    }
});

自定义UI文案

目前仅支持自定义引导页活体认证页的展示文案。

接口说明

SDK中提供了自定义UI文案的接口:setCustomTxtConfig

/**
 * @description 设置自定义UI。
 * @param {int} paramType 参数类型,可传范围(ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_ASSETS_NAME
 * /ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_PATH
 * /ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_JSON)
 * @param {String} params 参数值,paramType相对应的值
 * @return 配置文件检测出的异常信息。
 */
public String setCustomTxtConfig(int paramType, String param) {
 ...
}
  • 参数说明

    名称

    类型

    说明

    paramType

    int

    配置自定义入参的类型,可选值:

    • ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_ASSETS_NAME

      传入App assets文件类型,param需要传入assets文件名称。

    • ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_PATH

      传入设备本地路径,params需要传入配置文件的设备绝对路径地址。

    • ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_JSON

      传入JSON字符串,params传入JSON格式的数据。

    param

    String

    paramType配套调用。

  • 返回值:String类型,当SDKparam内容解析遇到错误或出现异常信息时会通过提示信息的方式返回。当配置参数无效时,请重点关注返回值信息。

示例代码

//传入文件路径
File file = new File(getFilesDir() + "/dtf/config_test/DTFConsumTxtConfig.json");
String path = file.getAbsolutePath();
int paramType = ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_PATH;
customUIErrMsg = zimFacade.setCustomTxtConfig(paramType, path);

//传入assets文件名
String fileName = "DTFConsumTxtConfig.json";
int paramType = ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_ASSETS_NAME;
customUIErrMsg = zimFacade.setCustomTxtConfig(paramType, fileName);

//传入json字符串
String jsonConfig="";
int paramType = ZIMFacade.ZIM_EXT_PARAMS_VAL_ZIM_EXT_PARAMS_CONFIG_FILE_JSON;
customUIErrMsg = zimFacade.setCustomTxtConfig(paramType, jsonConfig);

字段定义

字段列表

{
  "guideConfig": {
    "titleText": "刷脸认证",
    "agrtTopTipsText": "请先勾选协议",
    "agrtAgreeText": "同意",
    "agrtText": "《认证服务协议》",
    "agrtBotTipsText": "同意认证后,将获取您的摄像头权限用于人脸识别验证身份",
    "startBtnText": "开始认证",
    "elderBtnText": "长辈模式认证",
    "exitBtnText": "暂不认证",
    "authPermissionSDKName": "实人认证",
    "authPermissionAPPName": "阿里云实人认证",
    "authPermissionCamera": "相机",
    "authPermissionAudio": "录音",
    "authPermissionScreenEvidence": "录屏",
    "authPermissionToastTitle": "",
    "authPermissionToastMsg": "",
    "dialogExitTitle": "确定退出吗?",
    "dialogExitMsg": "露个脸就能通过",
    "dialogExitConfirm": "确定",
    "dialogExitCancel": "取消",
    "dialogPermissionFailedTitle": "认证失败",
    "dialogPermissionFailedMsg": "请确认相关权限已开启后再次发起",
    "dialogPermissionFailedConfirm": "确认",
    "dialogNetworkFailedTitle": "网络不给力",
    "dialogNetworkFailedMsg": "请检查网络",
    "dialogNetworkFailedConfirm": "确定",
    "dialogSupportFailedTitle": "当前系统不支持刷脸",
    "dialogSupportFailedMsg": "刷脸仅在高版本及以上系统可用",
    "dialogSupportFailedConfirm": "确定"
  },
  "faceConfig": {
    "faceNotFound": "没有检测到脸",
    "faceTooFar": "靠近一点",
    "faceTooClose": "离远一点",
    "faceNotIn": "把脸移入圈内",
    "badPitch": "请正对手机",
    "badYaw": "请正对手机",
    "faceTooMore": "请保持单人操作",
    "faceIsMoving": "再清晰一点",
    "faceBrightless": "脸部亮一点",
    "faceBadQuality": "请露出正脸",
    "eyesOnScreen": "请注视屏幕",
    "blink": "眨眨眼",
    "leftYaw": "向左摇头",
    "rightYaw": "向右摇头",
    "stackTime": "请保持不动",
    "isBlur": "再清晰一点",
    "hasHat" : "请摘掉帽子",
    "faceOcclusion" : "请移除遮挡"
    "faceInitTxt": "请正对屏幕",
    "faceTitleBlink": "拿起手机,眨眨眼",
    "leftYawLiveness": "拿起手机,向左摇头",
    "rightYawLiveness": "拿起手机,向右摇头",
    "photinusCommTips": "请把脸移入圈内保持不动",
    "qualityTitle": "勿遮挡、倾斜、逆光拍摄",
    "processing": "正在处理",
    "dialogTimeOutTitle": "操作超时",
    "dialogTimeOutMsg": "正对手机,更容易成功",
    "dialogTimeOutConfirm": "再试一次",
    "dialogInterruptTitle": "验证中断",
    "dialogInterruptConfirm": "再试一次",
    "dialogInterruptCancel": "退出",
    "dialogTooManyRetriesTitle": "本次操作失败",
    "dialogTooManyRetriesMsg": "刷脸失败次数过多,请稍后再试",
    "dialogTooManyRetriesConfirm": "我知道了",
    "dialogExitTitle": "确定退出吗?",
    "dialogExitMsg": "露个脸就能通过",
    "dialogExitConfirm": "确定",
    "dialogExitCancel": "取消",
    "dialogCamOpenFailedTitle": "摄像头打开异常",
    "dialogCamOpenFailedMsg": "请重启app或手机后再次尝试",
    "dialogCamOpenFailedConfirm": "确定",
    "dialogCamOpenFailedCancel": "取消",
    "dialogArchSysFailedTitle": "当前系统不支持刷脸",
    "dialogArchSysFailedMsg": "刷脸仅在高版本及以上系统可用",
    "dialogArchSysFailedConfirm": "确定",
    "dialogSDKErrTitle": "本次操作失败",
    "dialogSDKErrMsg": "抱歉,系统出错了,请再试一次",
    "dialogSDKErrConfirm": "确定",
    "dialogNetworkFailedTitle": "网络不给力",
    "dialogNetworkFailedMsg": "请检查网络",
    "dialogNetworkFailedConfirm": "确定",
    "verifyNotice": "您正在进行实人认证,请确保本人操作!"
  },
   "docConfig": {
    "stageFrontTips": "人像面",
    "stageBackTips": "国徽面",
    "stageLivenessTips": "实人认证",
    "frontInfoTips": "拍摄人像面",
    "frontInfoBottomTips": "证件人像面",
    "backInfoBottomTips": "证件国徽面",
    "backInfoTips": "拍摄国徽面",
    "takeRequireTxt": "拍摄要求",
    "takeRequireTitle": "拍摄要求",
    "resultCheckTips": "请确认以下身份信息,如有误请点击修改",
    "certNameTitle": "姓名",
    "certNameHint": "请输入姓名",
    "certNoTitle": "身份证号",
    "certNoHint": "请输入身份证号",
    "nextTxt": "下一步",
    "confirmTxt": "确认身份信息无误",
    "livenessTips": "实人认证",
    "livenessMsg": "拍摄您本人人脸,请确保正对手机,光线充足",
    "livenessLoadingMsg": "即将进入刷脸页...",
    "dialogIdentityFailTitle": "识别失败",
    "dialogIdentityFailRequireTitle": "证件图像未符合要求",
    "dialogIdentityFailRequireMsg": "请按要求拍摄本人有效身份证",
    "dialogIdentityFailRetry": "重新拍摄",
    "dialogNetworkTimeOutTitle": "识别超时",
    "dialogNetworkTimeOutMsg": "网络连接超时,请重新识别",
    "dialogNetworkTimeOutConfirm": "重新识别",
    "dialogNetworkTimeOutCancel": "退出",
    "identityLoadingMsg": "识别中",
    "dialogExitTitle": "确定退出吗?",
    "dialogExitMsg": "拍张照就能通过",
    "dialogExitCancel": "取消",
    "dialogExitConfirm": "确定",
    "dialogTooManyRetriesTitle": "识别失败次数过多",
    "dialogTooManyRetriesMsg": "请退出后重试",
    "dialogTooManyRetriesConfirm": "退出",
    "dialogNoPermissionTitle": "温馨提示",
    "dialogNoPermissionMsg": "请打开摄像头权限",
    "dialogNoPermissionCancel": "取消",
    "dialogNoPermissionToSet": "去设置",
    "takeFrontTips": "拍摄身份证人像面",
    "takeBackTips": "拍摄身份证国徽面"
  }
}

字段详细说明

展开折叠面板查看字段详细说明。

自定义UI文案字段详细说明

模块

key

截图

补充说明

guideConfig(引导页)

titleText

image.png

刷脸认证文案。

agrtTopTipsText

image.png

默认不显示,未勾选同意,点击开始认证时显示。

agrtAgreeText

image.png

同意文案。

agrtText

image.png

《认证服务协议》文案。

agrtBotTipsText

image.png

同意认证后,……文案。

startBtnText

image.png

开始认证按钮文案。

elderBtnText

image.png

长辈模式认证按钮文案。

默认不显示,启用适老化选择模式时,显示此按钮。

exitBtnText

image.png

暂不认证文案。

rareFormNameText

image.png

生僻字模式显示。具体文案参见左图示例。

rareFormIDText

image.png

rareFormEntBtnText

image.png

authPermissionToastTitle

image.png

兜底权限提示toast标题文案。

没有注入ZIMUICustomListeneronPermissionRequest方法返回False

且传参ZIM_EXT_PARAMS_KEY_NEED_PERMISSION_TOAST值为ZIMFacade.ZIM_EXT_PARAMS_VAL_NEED_PERMISSION_TOAST_TRUE,在请求权限时,SDK兜底显示该提示toast。

authPermissionToastMsg

image.png

兜底权限提示toast内容文案。

authPermissionCamera

image.png

申请的是“相机权限”时显示的文案。

authPermissionAudio

image.png

申请的是“录音权限”时显示的文案。

authPermissionScreenEvidence

image.png

申请的是“录屏权限”时显示的文案。

authPermissionAPPName

image.png

兜底toast中显示的“应用名称”。

如果未配置,则显示获取到的App名称。

为确保您能使用<SDK名><应用名称>需要申请您的相机权限。允许后,您可以随时通过手机系统设置对授权进行管理。

authPermissionSDKName

image.png

兜底toast中显示的“SDK名称”。

如果未配置,则显示SDK名称。

为确保您能使用<SDK名><应用名称>需要申请您的相机权限。允许后,您可以随时通过手机系统设置对授权进行管理。

dialogExitTitle

image.png

手动退出弹框文案。

手动点击“X”(退出)/“暂不认证”时弹出。

dialogExitMsg

dialogExitConfirm

dialogExitCancel

dialogPermissionFailedTitle

image.png

权限拒绝弹框文案。

dialogPermissionFailedMsg

dialogPermissionFailedConfirm

dialogNetworkFailedTitle

image.png

网络异常弹框文案。

dialogNetworkFailedMsg

dialogPermissionFailedConfirm

dialogSupportFailedTitle

image.png

系统/架构不支持弹框文案。

dialogSupportFailedMsg

dialogSupportFailedConfirm

faceConfig(刷脸页)

  • faceTitleBlink

  • leftYawLiveness

  • rightYawLiveness

  • photinusCommTips

  • qualityTitle

image.png

刷脸页标题文案。

  • faceNotFound

  • faceTooFar

  • faceTooClose

  • faceNotIn

  • badPitch

  • badYaw

  • faceTooMore

  • faceIsMoving

  • faceBrightless

  • faceBadQuality

  • eyesOnScreen

  • blink

  • leftYaw

  • rightYaw

  • stackTime

  • isBlur

  • faceInitTxt

  • hasHat

  • faceOcclusion

image.png

取景框内提示文案。

processing

image.png

认证提交时loading文案。

dialogInterruptTitle

image.png

验证中断弹窗文案。

dialogInterruptConfirm

dialogInterruptCancel

dialogTooManyRetriesTitle

image.png

重试次数过多弹窗文案。

dialogTooManyRetriesMsg

dialogTooManyRetriesConfirm

dialogCamOpenFailedTitle

image.png

摄像头打开异常弹窗文案。

dialogCamOpenFailedMsg

dialogCamOpenFailedConfirm

dialogArchSysFailedTitle

image.png

系统/架构不支持弹窗文案。

dialogArchSysFailedMsg

dialogArchSysFailedConfirm

dialogSDKErrTitle

image.png

操作失败弹窗文案。

dialogSDKErrMsg

dialogSDKErrConfirm

dialogNetworkFailedTitle

image.png

网络异常弹窗文案。

dialogNetworkFailedMsg

dialogNetworkFailedConfirm

dialogExitTitle

image.png

手动退出弹窗文案。

dialogExitMsg

dialogExitConfirm

dialogExitCancel

dialogTimeOutTitle

image.png

操作超时弹窗文案。

dialogTimeOutMsg

dialogTimeOutConfirm

verifyNotice

image.png

业务提示文案。

需要打开SDK对应开关才会显示。示例如下:

ZIMFacade zimFacade = ZIMFacadeBuilder.create(MainActivity.this);
HashMap<String, String> extParams = new HashMap<>();
//如需打开刷脸页业务提示开关(默认可不设置),请设置此项,需要结合自定义UI的配置文件使用
extParams.put(ZIMFacade.ZIM_EXT_PARAMS_KEY_NEED_FACE_NOTICE, ZIMFacade.ZIM_EXT_PARAMS_VAL_NEED_FACE_NOTICE_TRUE);
zimFacade.verify(certifyId, true, extParams, new ZIMCallback() {
    @Override
    public boolean response(final ZIMResponse response) {
        return true;
    }
});

OCR页面

docConfig

stageFrontTips

image.png

stageBackTips

image.png

stageLivenessTips

image.png

frontInfoTips

image.png

frontInfoBottomTips

image.png

backInfoBottomTips

image.png

backInfoTips

image.png

takeRequireTxt

image.png

takeRequireTitle

image.png

resultCheckTips

image.png

certNameTitle

image.png

certNoTitle

image.png

certNameHint

image.png

certNoHint

image.png

invalidCertName

image.png

invalidCertNo

image.png

nextTxt

image.png

confirmTxt

image.png

livenessTips

image.png

livenessMsg

image.png

livenessLoadingMsg

image.png

dialogIdentityFailTitle

image.png

dialogIdentityFailRequireTitle

image.png

dialogIdentityFailRequireMsg

image.png

dialogIdentityFailRetry

image.png

dialogNetworkTimeOutTitle

image.png

dialogNetworkTimeOutMsg

image.png

dialogNetworkTimeOutConfirm

image.png

dialogNetworkTimeOutCancel

image.png

identityLoadingMsg

image.png

dialogExitTitle

image.png

dialogExitMsg

image.png

dialogExitConfirm

image.png

dialogExitCancel

image.png

dialogTooManyRetriesTitle

image.png

dialogTooManyRetriesMsg

image.png

dialogTooManyRetriesConfirm

image.png

dialogNoPermissionTitle

image.png

dialogNoPermissionMsg

image.png

dialogNoPermissionCancel

image.png

dialogNoPermissionToSet

image.png

takeFrontTips

image.png

takeBackTips

image.png

合规权限提醒

SDK为了保证基础功能的运行需要向客户申请对应功能的权限,为了保证您的应用对客户展示合规,SDK内部提供了权限获取以及使用说明提醒弹窗,该功能默认关闭,当您需要使用时请通过verify接口进行开启。

开关接口

接口说明

请参考对应方案的Verify接口函数定义。

名称

说明

类型

params_key_need_permission_toast

SDK获取权限时是否需要弹窗说明权限目的,仅当设置为trueSDK会弹窗。

true

params_key_need_permission_toast_duration

权限toast持续时间,单位毫秒。需要同时打开SDK权限提醒toast开关。

2000

示例代码

 HashMap<String, String> extParams = new HashMap<>();
//如获取权限时需要SDK弹出权限提醒toast,请设置此项
extParams.put(ZIMFacade.ZIM_EXT_PARAMS_KEY_NEED_PERMISSION_TOAST, ZIMFacade.ZIM_EXT_PARAMS_VAL_NEED_PERMISSION_TOAST_TRUE);
//如想修改SDK权限提醒toast的显示持续时间,请设置此项,单位为毫秒
extParams.put(ZIMFacade.ZIM_EXT_PARAMS_KEY_NEED_PERMISSION_TOAST_DURATION, "2000");
zimFacade.verify(certifyId, true, extParams, new ZIMCallback() {
    @Override
    public boolean response(ZIMResponse response) {
        if (null != response && 1000 == response.code) {
            // 认证成功
            Toast.makeText(getApplicationContext(),
            "认证成功\n" +
            "code: " + response.code + "\n" +
            "reason: " + response.reason,
            Toast.LENGTH_LONG).show();
            } else {
            // 认证失败
            Toast.makeText(getApplicationContext(),
            "认证失败\n" +
            "code: " + response.code + "\n" +
            "reason: " + response.reason,
            Toast.LENGTH_LONG).show();
            }

            return true;
        }
});

弹窗自定义接口

Android SDK默认的弹框不足以满足业务诉求时,您可以通过ZIMUICustomListener接口自定义弹窗能力。

接口说明

/**
 * 设置UI自定义回调
 * @param uiListener
 */
public void setCustomUIListener(ZIMUICustomListener uiListener) {
 ....
}
public interface ZIMUICustomListener {
 ......

 /**
 * SDK请求权限时回调通知
 * @return 是否实现权限提示弹窗
 */
 boolean onPermissionRequest(Activity activity, List<String> requestPerms, String verifyType);
}
  • 参数说明

    名称

    类型

    说明

    activity

    Activity

    当前请求权限的Activity。

    requestPerms

    List<String>

    当前请求权限的列表。

    verifyType

    String

    当前请求权限的业务。

    • FACE:活体业务。

    • OCR:证件业务。

    • WISH:多因子意愿业务。

  • 返回值:bool类型。当您需要自行处理弹窗时,返回设置为true;若需要默认弹窗,则返回值设置为false。

示例代码

/**
* @return 是否实现权限提示弹窗
*/
zimFacade.setCustomUIListener(new ZIMUICustomListener() {
 ...
 @Override
 public boolean onPermissionRequest(Activity activity, List<String> requestPerms, String verifyType) {
 Toast.makeText(activity, "PermissionRequest", Toast.LENGTH_SHORT).show();
 return true;
 }
 });=