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

iOS SDK初始化仅两步,分别是MGFaceIDLiveDetectManager对象和开始活体检测。

# 获取

MGFaceIDLiveDetectManager类是管理活体认证的类,此类使用默认的构造函数初始化即可。

获取该类前需用以下函数指定活体检测资源路径:

函数名 designationMGFaceIDLiveDetectFilePath
+ (BOOL)designationMGFaceIDLiveDetectFilePath:(NSString *__nonnull)bundleFilePath
名称 指定 FaceID 活体检测资源路径。请在调用初始化接口前调用该接口进行路径指定
说明 指定资源路径是否成功。默认为NO,设置指定路径失败
变量名 说明 类型
bundleFilePath 资源路径。请添加资源包绝对路径,以`bundle`为地址后缀名 NSString*

获取MGFaceIDLiveDetectManager对象可使用以下两个函数:

函数名 initMGFaceIDLiveDetectManagerWithBizToken
(instancetype _Nullable)initMGFaceIDLiveDetectManagerWithBizToken:(NSString *__nonnull)bizTokenStr
language:(MGFaceIDLiveDetectLanguageType)languageType
networkHost:(NSString *__nullable)hostUrl
extraData:(NSDictionary *__nullable)extraDict
error:(MGFaceIDLiveDetectError *_Nullable*__nonnull)error、
名称 获取活体检测管理类对象
说明 传入bizTokenStr、languageType 、hostUrl 、extraDict、error获取管理类对象接口
变量名 说明 类型
bizTokenStr 业务流水号,每次验证前,通过服务端API获取的流水号(bizToken) NSString*
languageType 选择语言种类。详见MGFaceIDLiveDetectLanguageType说明 MGFaceIDLiveDetectLanguageType
hostUrl 网络请求host地址。host取值见附录E 【host取值列表】,请根据具体情况选择host取值 NSString *
extraDict 预留参数 功能1:更新用户取消弹出框样式,启用样式二。{@“alert_style”:@“2”},启用该样式后,请更新资源包中对应的文本内容 NSDictionary*
error 错误信息结构体,详细见下方MGFaceIDLiveDetectError 说明 MGFaceIDLiveDetectError*
函数名 initMGFaceIDLiveDetectManager
 (instancetype _Nullable)initMGFaceIDLiveDetectManagerWithBizToken:(NSString *__nonnull)bizTokenStr
   language:(MGFaceIDLiveDetectLanguageType)languageType
   networkHost1:(NSString *__nullable)host1 networkHost2:(NSString *__nullable)host2
   extraData:(NSDictionary *__nullable)extraDict
   configData:(NSDictionary *__nonnull)configDict
   model:(NSString *__nonnull)model
   error:(MGFaceIDLiveDetectError * _Nullable *__nonnull)error
名称 获取活体检测管理类对象
说明 传入bizTokenStr、languageType 、host1 、host2 、extraDict、error获取管理类对象接口
变量名 说明 类型
bizTokenStr 业务流水号,每次验证前,通过服务端API获取的流水号(bizToken) NSString*
languageType 选择语言种类。详见MGFaceIDLiveDetectLanguageType说明 MGFaceIDLiveDetectLanguageType
host1 网络请求host地址。host取值见附录E 【host取值列表】,请根据具体情况选择host取值 NSString *
host2 网络请求host地址。host取值见附录E 【host取值列表】,请根据具体情况选择host取值 NSString *
configDict 通过服务端API获得的data字符串 NSString
model 接口调用模式。取值如下:
MGFaceIDLiveDetectModel_A: 普通模式(默认值)
MGFaceIDLiveDetectModel_B: 兼容模式
MGFaceIDLiveDetectModel
extraDict 预留参数,暂时无使用 NSDictionary*
error 错误信息结构体,详细见下方MGFaceIDLiveDetectError说明 MGFaceIDLiveDetectError*

# 开始活体检测

获取MGFaceIDLiveDetectManager对象成功后即可开启活体检测。

MGFaceIDLiveDetectManager.startMGFaceIDLiveDetect

函数名 startMGFaceIDLiveDetectWithCurrentController
-(void)startMGFaceIDLiveDetectWithCurrentController:(UIViewController *__nonnull)detectVC 
callback:(MGFaceIDLiveDetectResultBlock __nonnull)block
名称 开启活体检测
类型说明 函数
说明 注:仅当获取MGFaceIDLiveDetectManager中的error结构体中MGFaceIDLiveDetectErrorNone=1000才能开启检测
变量名 说明 类型
detectVC 启动认证的UI界面 UIViewController *
block 检测结果的回调函数MGFaceIDLiveDetectResultBlock对象,详见回调函数MGFaceIDLiveDetectResultBlock介绍 MGFaceIDLiveDetectResultBlock

开启活体检测,检测结果以回调函数MGFaceIDLiveDetectResultBlock对象的形式返回

MGFaceIDLiveDetectResultBlock

函数名 MGFaceIDLiveDetectResultBlock
typedef void(^MGFaceIDLiveDetectResultBlock)(MGFaceIDLiveDetectError* error, NSData* deltaData, NSString* bizTokenStr, NSDictionary* extraOutDataDict)
名称 回调函数
类型说明 函数
说明
变量名 说明 类型
error 错误信息结构体,详细见下方MGFaceIDLiveDetectError说明 MGFaceIDLiveDetectError*
deltaData 客户端验证后数据。注:需用该data调用服务端接口进行数据验证 NSData*
bizTokenStr 业务流水号,每次验证前,通过服务端API获取的流水号(bizToken) NSString*
extraOutDataDict 若getBizeToken接口传入参数get_liveness_video为1,则包含videoPath,为加密后的视频和图片路径 NSDictionary*

该回调函数会返回后续数据验证所需要的data,以及错误信息的结构体。至此,SDK初始化成功并完成活体检测流程。若用户getBizeToken接口传入参数get_liveness_video为1,即选择返回活体阶段的视频/图片,可用以下函数解密返回的视频和图片文件:

MGFaceIDLiveDetectManager.decryptVideoPath

函数名 decryptVideoPath
+(MGFaceIDLivenessFileResult *_Nonnull)decryptVideoPath:(NSString*_Nonnull)path key:(NSString *_Nonnull)key;
名称 解密返回的视频和图片文件
类型说明 函数
说明 只有getBizToken中配置get_liveness_video为1时可用
返回值 MGFaceIDLivenessFileResult*

MGFaceIDLivenessFileResult

类成员 说明
MGFaceIDLivenessResultCode 错误信息枚举
MGFaceIDLivenessResultCodeSucceed = 1000,   //获取成功
MGFaceIDLivenessResultCodeVideoKeyError = 2000,  //video_key不正确
MGFaceIDLivenessResultCodePathError = 2100,  //path不正确
MGFaceIDLivenessResultCodeFailed = 3000,    //其他错误
NSString* livenessType 活体类型(动作:meglive 静默:still 炫彩:flash)
NSArray<MGFaceIDLivenessFile *>* files 文件信息

MGFaceIDLivenessFile

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