接入文档
FaceID高级版
APP接入
SDK集成
活体检测集成
iOS
预处理及活体检测接口
预处理及活体检测接口

# 活体初始化接口

# 1 类MegLiveV5DetectManager

MegLiveV5DetectManager类是管理活体认证的核心类,活体认证相关功能都需要使用该类进行。

# 1.1 开启FaceID活体认证

函数名 +megFaceIDLiveDetectManagerWithBizToken: configInfo: extraData: startCallBack: detectVC: endCallBack: dismissCallBack
*/
+ (void)megFaceIDLiveDetectManagerWithBizToken(NSString *__nonnull)bizTokenStr
extraData:(NSDictionary *__nullable)extraDict
startCallBack:(MegLiveV5StartDetectBlock)startBlock
detectVC:(UIViewController *)detectVC
endCallBack:(MegLiveV5EndDetectBlock)endBlock
dismissCallBack:(MegLiveV5DismissBlock)dismissBlock;
名称 开启FaceID活体认证
说明 设置不同的启动类型,通过 block返回校验结果。不同阶段返回不同的block。如果该阶段block中的内容已经提示失败,则不会进行下一阶段的block返回
变量名 说明 类型
bizTokenStr 设置FaceID活体检测的启动配置 NSString *__nonnull
configItem 设置FaceID活体检测的自定义配置 MegLiveV5DetectInitConfigItem *__nullable
extraDict 预留参数,当前为nil NSDictionary *__nullable
startBlock 活体检测初始化完成block MegLiveV5StartDetectBlock
detectVC 开启活体检测的VC页面,一般为当前ViewController UIViewController *
endBlock 活体检测完成时block MegLiveV5EndDetectBlock
dismissBlock 活体检测结束,页面收起时block MegLiveV5DismissBlock

# 1.2 获取活体认证过程中的日志信息

函数名 +queryMGFaceIDLiveDetectLogInfo
+ (NSData *)queryMGFaceIDLiveDetectLogInfo;
名称 获取活体检测过程中的日志信息
说明 该日志信息为加密数据,请通过FaceID服务进行解密处理
变量名 说明 类型
无参数
返回值类型 说明
NSData * 加密后的日志数据

# 1.3 解密活体检测过程中的视频和图片文件

函数名 +encodeMGFaceIDLiveDetectFileWithFilePath: encodeKey
+ (NSDictionary *)encodeMGFaceIDLiveDetectFileWithFilePath:(NSString *)filePath encodeKey:(NSString *)encodeStr;
名称 解密活体检测过程中的视频和图片文件
说明 针对加密数据进行解密处理,需要用户提供key进行解密
变量名 说明 类型
filePath 存储加密文件的路径 NSString *
encodeStr 用于解密的key NSString *
返回值类型 说明
NSDictionary* 解密后的文件信息。该信息为解密后暂存到沙盒中的路径组合

# 1.4 获取 SDK 版本号信息

函数名 +getSDKVersion
+ (NSString *_Nonnull)getSDKVersion;
名称 获取 SDK 版本号信息
说明
变量名 说明 类型
无参数
返回值类型 说明
NSString * SDK版本号

# 1.5 获取 SDK 构建版本信息

函数名 +getSDKBuild
+ (NSString *_Nonnull)getSDKBuild;
名称 获取 SDK 构建版本信息
说明
变量名 说明 类型
无参数
返回值类型 说明
NSString * SDK构建版本信息

# 2 可配置类

该类文件中包括了用户可以自定义的配置。该SDK为V5版本活体,同时兼容V3版本。V5版本下,部分自定义的配置会被FaceID控制台更改。

# 2.1 MegLiveV5DetectInitConfigItem

变量名
说明
类型
languageType 必选。指定活体V5语言类型,关于SDK语言资源加载的方式,详情见文档中资源说明 MegLiveV5DetectLanguageType
hostURL 必选。指定活体V5拉取配置的HOST地址。默认为“https://api.megvii.com”,具体见下方表格 NSString*
bundleFilePath 非必选。指定SDK资源绝对路径,以‘bundle’为结尾。如果该值为nil或者“”,则从MainBundle中读取资源。关于资源加载的方式,详情见文档中资源说明 NSString*
phoneVertical 非必选。指定活体检测过程中设备垂直检测类型。默认为“MegLiveV5DetectPhoneVerticalTypeFront2” MegLiveV5DetectPhoneVerticalType
isAdjustPhoneVolume 非必选。是否进行音量调节。其中YES为开启,NO为不开启。开启后,会将当前设备音量调节到‘maxPhoneVolume’,默认为NO BOOL
adjustPhoneVolume 非必选。音量调节后最大音量。阈值范围为[0, 100],默认为0。该参数仅在‘isAdjustPhoneVolume’值为YES时生效 int
showPoweryby 非必选。指定是否显示活体检测页面底部powerby图片。默认值为NO,不显示 BOOL
customUI 非必选。指定活体V5的UI样式 MegLiveV5DetectUIConfigItem
Host取值 说明
----------------- -------
https://api.megvii.com 中国集群(默认)
https://api-sgp.megvii.com 新加坡
https://api-idn.megvii.com 印尼

# 2.2 MegLiveV5DetectUIConfigItem

变量名 说明 类型
livenessHomeContourLineColor 检测成功中间人形线条色 UIColor *
livenessHomeFailContourLineColor 检测失败中间人形线条色 UIColor *
livenessHomeFlashContourLineColor 炫彩活体检测过程中间人形线条色 UIColor *
livenessHomeActionProcessBarColor 动作活体进度条颜色 UIColor *
livenessHomeFlashProcessBarColor 炫彩活体进度条颜色 UIColor *
livenessHomeLoadingLineColor loading蛇形线颜色 UIColor *
livenessHomeFlashRemindTextColor 炫彩阶段提示文字颜色 UIColor *
livenessHomeNormalRemindTextColor 正常状态提示文字颜色 UIColor *
livenessHomeFailedRemindTextColor 失败状态提示文字颜色 UIColor *
livenessHomeRemindTextSize 提示文字大小 CGFloat
livenessHomeActionRemindTextColor 动作提示字体颜色 UIColor *
livenessHomeActionRemindTextSize 动作活体提示文字大小 CGFloat
livenessHomeLoadingTextColor 验证中提示字体颜色 UIColor *
livenessHomeLoadingTextSize 验证中提示文字大小 CGFloat
livenessHomeCircleColor 主题圆圈颜色 UIColor *
livenessHomeBackgroundColor 采集区域外背景颜色 UIColor *
livenessHomeActionHatColor 动作活体过程中小帽子颜色 UIColor *
livenessHomeDeviceVerticalRemindColor 手机竖向垂直提示字体颜色 UIColor *
livenessHomeDeviceVerticalRemindSize 手机竖向垂直提示字体大小 CGFloat
livenessHomeBeforeLookMirrorContourLineColor 第一次完成照镜子之前人形线条颜色 UIColor *
livenessHomeBeforeLookMirrorRemindTextColor 第一次完成照镜子之前提示文字颜色 UIColor *

# 3 类MegLiveV5DetectError

变量名 说明 类型
errorCode 活体认证返回值code MegLiveV5DetectErrorType
errorMessage 活体认证返回值message NSString *

# 4 枚举

# 4.1 MegLiveV5DetectLanguageType

活体检测语言类型

枚举名 说明 枚举值
MegLiveV5DetectLanguageTypeCh 中文模式 0-默认值

# 4.2 MegLiveV5DetectPhoneVerticalType

活体检测设备垂直检测类型

枚举名 说明 枚举值
MegLiveV5DetectPhoneVerticalTypeContinue 持续启用设备垂直检测功能 1
MegLiveV5DetectPhoneVerticalTypeFront2 仅在检测开启的2秒内启用,之后关闭该功能 2
MegLiveV5DetectPhoneVerticalTypeDisable 禁用设备垂直检测功能 3

# 4.3 MegLiveV5DetectSignType

活体检测错误类型

枚举名 说明 枚举值
MegLiveV5DetectErrorTypeOK SDK活体成功 1000
MegLiveV5DetectErrorTypeBizTokenDenied 传入的biz_token不符合要求 1001
MegLiveV5DetectErrorTypeIllegalParameter 传入的参数不合法 1002
MegLiveV5DetectErrorTypeAuthenticationFail SDK鉴权失败 1003
MegLiveV5DetectErrorTypeMobileNotSupport 手机不在支持列表里 1004
MegLiveV5DetectErrorTypeNullPointException 若出现此类错误,请联系FaceID技术支持 1005
MegLiveV5DetectErrorTypeRequestFrequently 同一台设备同时存在多次调用 1006
MegLiveV5DetectErrorTypeNetworkTimeout 网络请求超时 1007
MegLiveV5DetectErrorTypeInternalError 网络配置错误。当出现此类错误,请重试。如果此类错误持续出现,请联系FaceID技术支持 1008
MegLiveV5DetectErrorTypeInvalidBundleID 信息验证失败,请重试 1009
MegLiveV5DetectErrorTypeNetworkError 网络连接失败,请查看网络状态 1010
MegLiveV5DetectErrorTypeUserCancel 用户取消 1011
MegLiveV5DetectErrorTypeNoCameraPermission 没有使用相机的权限,请开启相机权限后重试 1012
MegLiveV5DetectErrorTypeNoCameraSupport 无法启动相机,请确定相机功能完好 1013
MegLiveV5DetectErrorTypeFaceInitFail 无法启动人脸识别,请重试 1014
MegLiveV5DetectErrorTypeLivenessFailure SDK活体检测失败 1016
MegLiveV5DetectErrorTypeGotoBackground 应用推到后台,活体检测失败 1017
MegLiveV5DetectErrorTypeLivenessTimeout 应用操作超时,活体检测失败 1018
MegLiveV5DetectErrorTypeDataUploadFail 活体验证上传异常,活体检测失败 1019
该文档未解决您的疑问?查看常见问题