接入文档
FaceID增强版
APP接入
SDK集成
Android
预处理及活体检测接口
预处理及活体检测接口

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

结果码:

  • 1000系列状态码表示获取成功
  • 2000系列状态码表示传入的video_key不正确
  • 2100系列状态码表示传入的path不正确
  • 3000系列状态码表示参考数据调用出错

livenessType

String

活体类型:

  • meglive:动作
  • flash:炫彩
livenessFiles LivenessFile[ ] 活体留存数据

# 6 LivenessFile活体留存文件类

变量 类型 描述
path String 文件路径

fileType

String

文件类型:

  • 1:视频
  • 2:图片

actionType

String

如果是动作活体返回图片时会指定值:

  • 1:眨眼
  • 2:张嘴
  • 3:左右转头
  • 4:上下点头
该文档未解决您的疑问?查看常见问题