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

Android进入活体检测前需要进行预处理,以验明身份并初始化SDK。预处理完成后开始活体检测,完成活体后返回data用于后续verify验证。

  • 获取MegLiveManager单例

    Android SDK 代码调用的入口为MegLiveManager这个类,该类是管理活体认证的类,此类不可以初始化,只能通过getInstance获得其单例。只有在获取单例成功后才能进入后续的预处理及活体检测流程。

MegLiveManager.getInstance

函数名 getInstance
MegLiveManager getInstance()
名称 获取MegLiveManager的实例
类型说明 函数
说明 获取MegLiveManager的单例
返回值
MegLiveManager 一个实例

MegLiveManager.getVersion

函数名 getVersion
String getVersion()
名称 获取SDK的版本号
类型说明 函数
说明
返回值
String 一个字符串,表示当前SDK的版本号。如:MegLiveStill 3.0.0

MegLiveManager.getBuildInfo

函数名 getBuildInfo
String getBuildInfo()
名称 获取SDK的构建信息
类型说明 函数
说明
返回值
String 一个字符串
  • 预处理

获取MegLiveManager单例成功后,可进行SDK的预处理,初始化SDK的同时进行鉴权验证。

MegLiveManager.preDetect

函数名 preDetect
void preDetect(Context context, String token,String language, String host, String modelPath, PreCallback callback)
名称 活体检测预处理接口,结果会以callback返回。失败则无法进行以后所有工作
类型说明 函数
说明 监听者会在活体验证结束后被调用,如果没有设置,则不会调用
变量名 说明 类型
context Android上下文 Context
token 业务流水号,每次验证前,通过服务端API获取的业务流水号(bizToken) String
language 语种 参照ISO 639标准
使用系统默认传null
String
host 网络请求host
host取值见附录E 【host取值列表】,请根据具体情况选择host取值
String
modelPath 模型本地存放路径 String
callback PreCallback的类对象,接收预处理结果,详见回调函数PreCallback说明 PreCallback

预处理的结果将由PreCallback类接受,该类是一个活体检测前预处理的回调接口,开启活体验证之前需要优先调用此接口。

MegLiveManager.setTextContent

函数名 setTextContent
void setTextContent(String key,String content);
名称 设置TextContent
类型说明 函数
说明 设置新增UI定制
Key目前仅支持:livenessHomeUpperInfoTextContent
Value:要设置的内容
返回值

getSdkLog

函数名 getSdkLog
String getSdkLog()
名称 获取SDKLog 信息
类型说明 函数
说明
返回值
String 一个加密字符串,用于协助分析定位SDK使用过程中的问题

setVerticalDetectionType

函数名 setVerticalDetectionType
void setVerticalDetectionType(@Vertical int verticalDetection)
名称 垂直检测设置
类型说明 函数
说明 MegLiveManager. DETECT_VERITICAL_FRONT前两秒检测
MegLiveManager. DETECT_VERITICAL_KEEP始终检测
MegLiveManager. DETECT_VERITICAL_DISABLE不检测
变量名 说明 类型
verticalDetection 垂直检测类型 int

PreCallback. onPreStart

PreCallback是一个活体检测前预处理的回调接口,开启活体验证之前需要优先调用此接口

函数名 onPreStart
void  onPreStart()
名称 开启预处理
类型说明 函数
说明 此处无实际意义,代表预处理开启,此处可用于展示progress bar

PreCallback. onPreFinish

函数名 onPreFinish
 void onPreFinish(String token,int errorCode,String errorMessage)
名称 完成预处理之后的回调
类型说明 函数
说明 只有当完成预处理且errorCode==1000的时候才可以调用startDetect开启活体检测
变量名 说明 类型
token 业务流水号,用户调用预处理传入的token String
errorCode 预处理结果码,具体错误码参考文档ErrorCode说明 int
errorMessage 预处理结果信息,具体错误信息参考文档ErrorCode说明 String

至此,预处理完成。

  • 进行活体检测

在预处理接口onPreFinish成功回调且errorCode==1000后,开始活体认证,验证结果以DetectCallback回调函数返回。

MegLiveManager. startDetect

函数名 startDetect
void startDetect(DetectCallback callback);
名称 开始活体认证
类型说明 函数
说明 在预处理接口onPreFinish成功回调且errorCode==1000的时候才能开启
变量名 说明 类型
callback DetectCallback的类对象,接受活体结果的接口,详见回调函数DetectCallback说明 DetectCallback

接口DetectCallback

活体检测的结果由DetectCallback的类对象接受,该接口是一个活体检测完成返回活体认证结果的回调接口。

DetectCallback. onDetectFinish

函数名 onPreFinish
 void onDetectFinish(String token,int errorCode,String errorMessage,String data)
名称 完成活体检测之后的回调结果
类型说明 函数
说明
变量名 说明 类型
token 业务流水号,用户调用预处理传入的token String
errorCode 预处理结果码,具体错误码参考文档ErrorCode说明 int
errorMessage 预处理结果信息,具体错误信息参考文档ErrorCode说明 String
data 客户端完成验证后的加密数据。注:需用该data调用服务端接口进行数据验证 String

完成活体检测之后的回调结果通过该函数返回,data为后续用于获取比对结果的加密数据。

若用户getBizeToken接口传入参数get_liveness_video为1,即选择返回活体阶段的视频/图片,开始活体检测的函数选择startDetectForLivenessFile。

startDetectForLivenessFile

函数名 startDetectForLivenessFile
void startDetectForLivenessFile(DetectCallbackWithFile callback)
名称 开始活体认证
类型说明 函数
说明 在预处理接口onPreFinish成功回调且errorCode==1000的时候才能开启
变量名 说明 类型
callback DetectCallbackWithFile的类对象,接受活体结果的接口,详见回调函数DetectCallbackWithFile说明 DetectCallbackWithFile

活体检测的结果由DetectCallbackWithFile的类对象接受,该接口是一个活体检测完成返回活体认证结果的回调接口。

DetectCallbackWithFile. onDetectFinish

函数名 onPreFinish
 void onDetectFinish(String token, int errorCode, String errorMessage, String data, String livenessFilePath);
名称 完成活体检测之后的回调结果
类型说明 函数
说明
变量名 说明 类型
token 业务流水号,用户调用预处理传入的token String
errorCode 预处理结果码,具体错误码参考文档ErrorCode说明 int
errorMessage 预处理结果信息,具体错误信息参考文档ErrorCode说明 String
data 客户端完成验证后的加密数据。注:需用该data调用服务端接口进行数据验证 String
livenessFilePath 若getBizeToken接口传入参数get_liveness_video为1,则返回活体加密文件路径,verify成功后拿到解密key后调用getLivenessFiles接口获取解密后的文件 String

完成活体检测之后的回调结果通过该函数返回,data为后续用于获取比对结果的加密数据。同时返回活体加密文件路径livenessFilePath,再加上verify成功后拿到解密key,可调用getLivenessFiles接口获取解密后的文件。

getLivenessFiles

函数名 startDetectForLivenessFile
LivenessFileResult getLivenessFiles(String filePath, String decryptionKey)
名称 获取解密活体文件
类型说明 函数
说明
返回值 LivenessFileResult
变量名 说明 类型
filePath 端上活体成功后sdk返回的活体加密文件路径 String
decryptionKey 调用verify后拿到的解密key String

类LivenessFileResult

参数类型 参数名 说明
int resultCode 结果码:
 1000表示获取成功
 2000表示传入的video_key不正确
 2100表示传入的path不正确
 3000表示参考数据调用出错
String livenessType 活体类型
(动作:meglive静默:still 炫彩:flash)
LivenessFile[] livenessFiles 活体文件对象

类LivenessFile

参数类型 参数名 说明
String path 文件路径
String fileType 文件类型
String actionType 动作类型(只有动作活体有值,其他为空。 眨眼:blink 张嘴:open_mouth 左右摇头:shake 上下点头:nod)
该文档未解决您的疑问?查看常见问题