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

# 实证读取初始化接口

# 1 检测当前设备是否支持NFC证件识别

函数名

+judgeCurrrenDeviceIsSupportsNFC:

+ (BOOL *)judgeCurrrenDeviceIsSupportsNFC;

名称

检测当前设备是否支持NFC证件检测

说明

通过该接口判断设备是否支持NFC证件识别。如果不支持,不建议调用证件识别接口。调用正好识别接口后仍然会返回设备不支持的错误信息。

如果设备仅仅是关闭在设置中关闭了NFC功能,该检测接口会返回YES(支持)。启动证件识别后,SDK会通过交互引导用户通过设置页面开启NFC功能。

变量名

说明

类型

无参数

返回值类型

说明

BOOL

默认为NO,不支持。YES为支持。

# 2 开启NFC证件检测

函数名

+megFaceIDCardDetectManagerWithBizToken:configInfo:extraData:startCallBack:detectVC:detectCallBack:dismissCallBack:

+ (void)megFaceIDCardDetectManagerWithBizToken:(NSString *__nonnull)bizTokenStr

                                    configInfo:(MegLiveV5DetectNFCItem *__nullable)configItem

                                     extraData:(NSDictionary *__nullable)extraDict

                                 startCallBack:(MegLiveV5StartDetectBlock)startBlock

                                      detectVC:(UIViewController *)detectVC

                                detectCallBack:(MegLiveV5EndDetectBlock)detectBlock

                               dismissCallBack:(MegLiveV5DismissBlock)dismissBlock;

名称

开启NFC证件检测

说明

通过 block返回校验结果。不同阶段返回不同的block。如果该阶段block中的内容已经提示失败,则不会进行下一阶段的block返回

变量名

说明

类型

bizTokenStr

设置NFC检测的启动配置

NSString *__nonnull

configItem

设置NFC检测的自定义配置

MegLiveV5DetectNFCItem*__nullable

extraDict

预留参数,当前为nil

NSDictionary *__nullable

startBlock

证件识别初始化完成block

MegLiveV5StartDetectBlock

detectVC

开启证件识别的VC页面,一般为当前ViewController

UIViewController *

detectBlock

证件识别完成时block

MegLiveV5EndDetectBlock

dismissBlock

证件识别结束,页面收起时block

MegLiveV5DismissBlock

# 3 MegLiveV5DetectNFCItem

变量名

说明

类型

languageType

必选。指定活体V5语言类型,关于SDK语言资源加载的方式,详情见文档中资源说明

MegLiveV5DetectLanguageType

hostURL

必选。指定活体V5拉取配置的HOST地址。默认为“https://api.megvii.com

NSString*

bundleFilePath

非必选。指定SDK资源绝对路径,以‘bundle’为结尾。如果该值为nil或者“”,则从MainBundle中读取资源。关于资源加载的方式,详情见文档中资源说明

NSString*

showPoweryby

非必选。指定是否显示活体检测页面底部powerby图片。默认值为NO,不显示

BOOL

customUI

非必选。指定活体V5的UI样式

MegLiveV5DetectNFCUIItem*

# 4 MegLiveV5DetectNFCUIItem

变量名

说明

类型

eidPagesStatusTextColor

检测页面状态标题字体颜色

UIColor *

eidPagesStatusPromptTextColor

检测页面异常状态标题字体颜色

UIColor *

eidPagesBottomButtonBeforeClickColor

读取按钮正常态颜色

UIColor *

eidPagesBottomButtonAfterClickColor

读取按钮高亮态颜色

UIColor *

eidPagesBottomButtonTextColor

读取按钮字体颜色

UIColor *

eidFailedPagesBottomButtonBeforeClickColor

重新读取按钮正常态颜色

UIColor *

eidFailedPagesBottomButtonAfterClickColor

重新读取按钮高亮态颜色

UIColor *

eidFailedPagesBottomButtonTextColor

重新读取按钮字体颜色

UIColor *

eidReadPagesCircleColor

读取中动画颜色

UIColor *

eidFailedPagesFailedJumpTextColor

检测失败跳转文案字体颜色

UIColor *

# 5 MegLiveV5DetectNFCSignType

活体检测错误类型

枚举名

说明

枚举值

MegLiveV5DetectErrorTypeNFCUserQuit

用户通过自定义退出按钮取消NFC证件识别

1020

MegLiveV5DetectErrorTypeNFCSystemQuit

NFC证件识别SDK因内部错误导致流程结束

1021

# 活体初始化接口

# 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

# 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
该文档未解决您的疑问?查看常见问题