# 实证读取初始化接口
# 1 实证入口类NFCDetectManager
NFCDetectManager类是管理实证认证的类,此类不需要初始化,直接调用其类方法即可。
# 1.1开始NFC检测
函数名 | startNFCDetect | |
void startNFCDetect(Context context, NFCDTConfig config, NFCDetectCallback callback) | ||
名称 | 开始NFC检测 | |
类型说明 | 函数 | |
说明 | 开启NFC检测接口。 | |
变量名 | 说明 | 类型 |
context | Android上下文 | Context |
config | 参数配置,详见NFCDTConfig说明 | NFCDTConfig |
callback | NFCDetectCallback接口的实现类,接收NFC检测结果的接口,详见NFCDetectCallback接口说明 | NFCDetectCallback |
# 1.2 检测设备是否支持NFC
函数名 | isSupportNFC | |
boolean isSupportNFC(Context context) | ||
名称 | 检测设备是否支持NFC | |
类型说明 | 函数 | |
说明 | 检测设备是否支持NFC。 | |
变量名 | 说明 | 类型 |
context | Android上下文 | Context |
返回值 | 说明 | 类型 |
isSupport | 是否支持NFC | String |
# 2 配置类NFCDTConfig
变量 | 类型 | 描述 |
host | String | 客户host,必传 |
bizToken | String | 请求token,检测流程唯一业务号,必传 |
# 3 NFCDetectCallback检测监听回调
# 3.1 onInit
函数名 | onInit | |
void onInit (int errorCode, String errorMessage); | ||
名称 | 初始化结果回调 | |
类型说明 | 函数 | |
说明 | ||
返回值 | ||
变量名 | 说明 | 类型 |
errorCode | 错误码 见3.1.8 | int |
errorMessage | 错误描述 | String |
# 3.2 onResult
函数名 | onResult | |
void onResult (int errorCode, String errorMessage,String bizToken) | ||
名称 | 检测结果回调 | |
类型说明 | 函数 | |
说明 | ||
返回值 | ||
变量名 | 说明 | 类型 |
errorCode | 错误码 见3.1.4 | int |
errorMessage | 错误描述 | String |
bizToken | 业务号 | String |
# 4 错误码
ErrorCode | ErrorMessage | 说明 |
1000 | NFC_FINISH | NFC流程完成 |
GET_CONFIG_SUCCESS | 获取配置成功 | |
1001 | BIZ_TOKEN_DENIED | 传入的 biz_token 不符合要求 |
1002 | ILLEGAL_PARAMETER:{bizToken} ILLEGAL_PARAMETER:{host} | 传入参数不合法,{}内为具体原因 |
1004 | MOBILE_PHONE_NOT_SUPPORT | 手机在不支持列表里 |
1005 | 具体的异常信息,格式:异常类型_代码类名_代码行数 示例: NullPointException_com.megvii.xx.Test_1101 | 若出现此类错误,建议及时联系FaceID技术支持 |
1006 | REQUEST_FREQUENTLY | 同一台设备同时存在多次调用时,第一次调用正常运行,其他次调用返回此类错误 |
1007 | NETWORK_TIME_OUT | 网络请求超时 |
1008 | INTERNAL_ERROR | 网络配置错误,当此类错误发生时请再次请求,如果持续出现此类错误,请及时联系FaceID客服或商务 |
1010 | NETWORK_ERROR | 连不上互联网,请连接上互联网后重试 |
1011 | USER_CANCEL | 用户取消NFC |
1020 | USER_QUIT | 用户在失败页面退出NFC |
1021 | SYSTEM__QUIT | 系统错误退出 |
# 活体初始化接口
Android进入活体检测前需要进行预处理,以验明身份并初始化SDK。预处理完成后开始活体检测,完成活体后返回data用于后续verify验证。
# 1 入口类MegLiveManager
Android SDK代码调用的入口为 MegLiveManager
这个类,该类是管理活体认证的类,此类不可以初始化,只能通过getInstance 获得其单例。只有在获取单例成功后才能进入后续的预处理及活体检测流程。
# 1.1 获取MegLiveManager单例对象
函数名 | getInstance |
---|---|
MegLiveManager getInstance() | |
名称 | 获取MegLiveManager的实例 |
类型说明 | 函数 |
说明 | 获取MegLiveManager的单例 |
返回值 | |
MegLiveManager | MegLiveManager的实例 |
# 1.2 开始检测
函数名 | startDetect | |
---|---|---|
void startDetect(Context context, MegLiveDetectConfig config, MegLiveDetectListener callback) | ||
名称 | 开始活体认证 | |
类型说明 | 函数 | |
说明 | 开启活体检测接口 | |
变量名 | 说明 | 类型 |
context | Android上下文 | Context |
config | 参数配置,详见MegLiveDetectConfig说明 | MegLiveDetectConfig |
callback | MegLiveDetectListener接口的实现类,接受活体结果的接口,详见回调函数MegLiveDetectListener说明 | MegLiveDetectListener |
# 1.3 获取活体认证过程中的日志信息
函数名 | getSDKLog |
String getSDKLog() | |
名称 | 获取活体认证过程中的日志信息 |
类型说明 | 函数 |
说明 | 无 |
返回值 | |
String | 活体认证过程中的加密日志信息 |
# 1.4 解密活体检测过程中的视频和图片文件
函数名 | getLivenessFiles | |
---|---|---|
LivenessFileResult getLivenessFiles(String filePath, String decryptionKey) | ||
名称 | 获取解密活体文件 | |
类型说明 | 函数 | |
说明 | ||
返回值 | LivenessFileResult详见本文档第5部分 | |
变量名 | 说明 | 类型 |
filePath | 端上活体成功后sdk返回的活体加密文件路径 | String |
decryptionKey | 调用verify后拿到的解密key | String |
# 1.5 获取 SDK 版本号信息
函数名 | getVersion |
String getVersion() | |
名称 | 获取SDK的版本号 |
类型说明 | 函数 |
说明 | 无 |
返回值 | |
String | 一个字符串,表示当前SDK的版本号。如:MegLiveStill 3.0.0 |
# 1.6 获取 SDK 构建版本信息
函数名 | getBuildInfo |
String getBuildInfo() | |
名称 | 获取SDK的构建信息 |
类型说明 | 函数 |
说明 | 无 |
返回值 | |
String | 当前SDK的构建信息 |
# 2 MegLiveDetectConfig检测配置类
变量 | 类型 | 描述 |
---|---|---|
apiKey | String | 客户apikey,在mode为1时必传 |
bizToken | String | 请求token,在mode为2时必传 |
modelPath | String | 模型路径 |
host | String | faceid服务host |
language | String | sdk语言,参数按照Language codes-ISO 639标准传入 |
isShowLogo | boolean | 是否展示底部logo |
autoAdjustVolume | boolean | 是否自动调节动作活体语音提示音量,兼容模式选填,默认false |
suggestVolume | int | 调节音量建议值,兼容模式autoAdjustVolume为true时选填,默认值50 |
verticalDetection | int | 垂直检测1一直;2前两秒;3不检测 |
# 3 MegLiveDetectListener检测监听回调
# 3.1 onPreDetectFinish
函数名 | onPreDetectFinish | |
---|---|---|
void onPreDetectFinish(int errorCode, String errorMessage); | ||
名称 | 预处理结果回调 | |
类型说明 | 函数 | |
说明 | ||
返回值 | ||
变量名 | 说明 | 类型 |
errorCode | 错误码见本文档第4部分错误码列表 | Int |
errorMessage | 错误描述 | String |
# 3.2 onDetectFinish
函数名 | onDetectFinish | |
---|---|---|
void onDetectFinish(int errorCode, String errorMessage,String bizToken) | ||
名称 | 检测结果回调 | |
类型说明 | 函数 | |
说明 | ||
返回值 | ||
变量名 | 说明 | 类型 |
errorCode | 错误码见本文档第4部分错误码列表 | int |
errorMessage | 错误描述 | String |
bizToken | 业务号 | String |
# 3.3 onLivenessFileCallback
函数名 | onLivenessFileCallback | |
---|---|---|
void onLivenessFileCallback(String livenessFilePath) | ||
名称 | 活体数据留存结果回调 | |
类型说明 | 函数 | |
说明 | ||
返回值 | ||
变量名 | 说明 | 类型 |
livenessFilePath | 活体留存文件路径 | String |
# 4 错误码
ErrorCode | ErrorMessage | 说明 |
---|---|---|
1000 | LIVENESS_FINISH | 活体完成 |
GET_CONFIG_SUCCESS | 获取配置成功 | |
1001 | BIZ_TOKEN_DENIED | 传入的 biz_token 不符合要求 |
1002 | ILLEGAL_PARAMETER:{livenesstype} ILLEGAL_PARAMETER:{Context} ILLEGAL_PARAMETER:{MegLiveDetectConfig} ILLEGAL_PARAMETER:{MegLiveDetectConfig:model} ILLEGAL_PARAMETER:{MegLiveDetectConfig:appKey} ILLEGAL_PARAMETER:{MegLiveDetectConfig:livenessId} ILLEGAL_PARAMETER:{MegLiveDetectConfig:bizToken} ILLEGAL_PARAMETER:{MegLiveDetectConfig:host} ILLEGAL_PARAMETER:{MegLiveDetectConfig:modelPath} ILLEGAL_PARAMETER:{missing_liveness_config} ILLEGAL_PARAMETER:{response_result_is_null} ILLEGAL_PARAMETER:{request_data_is_null} ILLEGAL_PARAMETER:{request_data_error} ILLEGAL_PARAMETER:{jsonexception_200} ILLEGAL_PARAMETER:{jsonexception_400} |
传入参数不合法,{}内为具体原因 |
1003 | AUTHENTICATION_FAIL:{illegal_param} AUTHENTICATION_FAIL:{illegal_handle} AUTHENTICATION_FAIL:{illegal_index} AUTHENTICATION_FAIL:{expire} AUTHENTICATION_FAIL:{bundleid_error} AUTHENTICATION_FAIL:{license_error} AUTHENTICATION_FAIL:{liveness_id_error} AUTHENTICATION_FAIL:{model_error} AUTHENTICATION_FAIL:{algo_error} AUTHENTICATION_FAIL:{opengl_context_error} |
鉴权失败,{}内为具体原因 |
1004 | MOBILE_PHONE_NOT_SUPPORT | 手机在不支持列表里 |
1005 | 具体的异常信息,格式:异常类型_代码类名_代码行数。示例:NullPointException_com.megvii.xx.Test_1101 | 若出现此类错误,建议及时联系FaceID技术支持 |
1006 | REQUEST_FREQUENTLY | 同一台设备同时存在多次调用时,第一次调用正常运行,其他次调用返回此类错误 |
1007 | NETWORK_TIME_OUT | 网络请求超时 |
1008 | INTERNAL_ERROR | 网络配置错误,当此类错误发生时请再次请求,如果持续出现此类错误,请及时联系FaceID客服或商务 |
1009 | INVALID_BUNDLE_ID | 信息验证失败,请重启程序或设备后重试 |
1010 | NETWORK_ERROR | 连不上互联网,请连接上互联网后重试 |
1011 | USER_CANCEL | 用户取消 |
1012 | NO_CAMERA_PERMISSION | 没有打开相机的权限,请开启权限后重试 |
1013 | DEVICE_NOT_SUPPORT | 无法启动相机,请确认摄像头功能完好 |
1014 | FACE_INIT_FAIL | 无法启动人脸识别,请稍后重试 |
1016 | LIVENESS_FAILURE | 活体失败 |
1017 | GO_TO_BACKGROUND | 应用退到后台,活体检测失败 |
1018 | LIVENESS_TIME_OUT | 操作超时,由于用户在长时间没有进行操作 |
1019 | DATA_UPLOAD_FAIL | 数据上传失败 |
# 5 LivenessFileResult活体留存文件解密结果
变量 | 类型 | 描述 |
---|---|---|
resultCode |
int |
结果码:
|
livenessType |
String |
活体类型:
|
livenessFiles | LivenessFile[ ] | 活体留存数据 |
# 6 LivenessFile活体留存文件类
变量 | 类型 | 描述 |
---|---|---|
path | String | 文件路径 |
fileType |
String |
文件类型:
|
actionType |
String |
如果是动作活体返回图片时会指定值:
|