SDK-接入文档(ios版)

接口说明

类MGFaceIDDetectManager

函数名initMGFaceIDDetectManagerWithSign
方法描述- (instancetype)initMGFaceIDDetectManagerWithSign:(NSString *)sign signVersion:(NSString *)signVersion IDCardName:(NSString *)IDCardName IDCardNum:(NSString *)IDCardNum recordVideo:(BOOL)isRecordVideo extraData:(NSDictionary *)extraDict error:(MGFaceIDDetectError **)error;
名称初始化方法
说明活体检测初始化时调此接口
变量名说明
sign类型: NSString *
说明:加密签名
signVersion类型: NSString *
说明:签名算法版本
IDCardName类型: NSString *
说明:身份证姓名
IDCardNum类型: NSString *
说明:身份证号码
isRecordVideo类型: bool
说明: 是否需要进行视频录制,默认为NO,不进行视频录制
extraDict类型: NSDictionary *
说明: 初始化预留接口。默认为nil
error类型: MGFaceIDDetectError**
说明: 初始化错误类型,若没有错误,则该参数为空

extraDict说明

keyvalue
notify_url类型:NSString *
说明:请求客户服务器的URL(我们将会把比对结果同时完整发送至您的服务器),POST的内容和get result结果保持一致(images字段除外),参见文档
biz_no类型:NSString *
说明:客户业务流水号,建议设置为您的业务相关的流水串号并且唯一。并会在return时原封不动的返回给您的服务器,以帮助您确认对应业务的归属
verbose类型:int
说明:返回数据的详细程度,可选值为[0,1]。默认为0,返回默认信息。1为返回结论和摘要信息
security_level类型:int
说明:对比对结果的严格程度限制,准确性要求越高,通过率也会相应下降。可选值为[1,2,3]。1:宽松:千一;2:常规:万一(默认值);3:严格:十万一
image_ref1类型:UIImage *
说明:由您自己提供的参照人脸照片1
image_ref2类型:UIImage *
说明:由您自己提供的参照人脸照片2

函数startMGFaceIDNetworkingDetect

函数名startMGFaceIDNetworkingDetect
方法描述-(void)startMGFaceIDNetworkingDetect:(UIViewController *)detectVC callback:(FaceIDDetectNetworkingResultBlock)result
名称启动FaceID版本检测
类型说明函数
说明启动FaceID版本检测
变量名说明
detectVC类型: UIViewController *
说明: 启动检测的VC
result类型: FaceIDDetectNetworkingResultBlock
说明: 检测结果的block回调。详情请参考(MGFaceIDDetectConfig.h)
  • 注意:每次调用startMGFaceIDNetworkingDetect前,请先调用initMGFaceIDDetectManagerWithSign接口

函数versionStr

此函是为非必须函数,获取的SDK版本号便于后期定位问题,建议使用;

函数名versionStr
方法描述+(NSString *)versionStr
名称获取SDK的版本号
类型说明函数
说明无
返回值string, 一个字符串,表示当前SDK的版本号。

函数buildStr

此函是为非必须函数,获取的SDK构筑信息便于后期定位问题,建议使用;

函数名buildStr
方法描述+(NSString *)buildStr
名称获取SDK的构筑信息
类型说明函数
说明无
返回值string, 一个字符串。

枚举类型MGActionLiveDetectState

函数名MGActionLiveDetectState
名称该枚举 用于展示当前所处阶段
类型说明枚举类型
说明该枚举用于展示当前所处阶段
枚举名说明
MGActionLiveDetectStateDoing进行中
MGActionLiveDetectStateSuccess成功
MGActionLiveDetectStateFailure失败

枚举类型FaceIDDetectActionType

函数名FaceIDDetectActionType
名称该枚举 用于 动作活体检测具体动作类型
类型说明枚举类型
说明该枚举 用于 动作活体检测具体动作类型
枚举名说明
FaceIDDetectActionTypeBlink眨眼
FaceIDDetectActionTypeMouth张嘴
FaceIDDetectActionTypeYaw左右摇头
FaceIDDetectActionTypePitch上下点头

FaceIDDetectNetworkingResultBlock回调函数

函数名FaceIDDetectNetworkingResultBlock
方法描述Detect的回调函数,返回相应的结果
名称typedef void(^FaceIDDetectNetworkingResultBlock)(NSUInteger Code,NSString* Message, NSArray* videoPathList, NSString* bizResultStr, NSDictionary* extraOutDataDict);
类型说明函数
说明无
变量名说明
Code类型: NSUInteger
说明: 活体检测结果相关返回码,参见文档
Message类型: NSString*
说明: 活体检测结果相关信息,参见文档
videoPathList类型: NSArray*
说明: 录制的视频地址
bizResultStr类型: NSString*
说明: 服务器反馈信息 biz_token
extraOutDataDict类型: NSDictionary*
说明: 其他反馈信息,该参数当前版本默认为空

集成说明

集成步骤:

  1. 请将MGFaceIDDetect.framework和MGFaceIDDetectResource.bundle分别添加到工程中
  2. 添加依赖:在TARGETS - BuildPhases - Link Binary With Libraries中需要添加CoreMedia.framework,AVFoundation.framework,SystemConfiguration.framework,MGFaceIDDetect.framework
  3. 由于该SDK中使用了category,需要在TARGETS - Build Settings - OtherLinker Flags 中添加 -ObjC
  4. 该SDK中使用了C++,请将import并使用该SDK的类后缀改为.mm

开发指南

该SDK由两部分组成,分别为静态framework和模型。该SDK Deployment Info 为8.0,不支持模拟器。开发步骤如下:

  1. 获取签名,参见文档
  2. 使用-initMGFaceIDDetectManagerWithSign:signVersion:imageRef:recordVideo:extraData:error:接口初始化 MGFaceIDDetectManager 对象,参数请查看API文档
  3. 初始化 MGFaceIDDetectManager 对象成功后,使用-startMGFaceIDNetworkingDetect:callback接口进行 MegLiveV3 活体检测

注意:

  • 查看该SDK具体版本号+versionStr
  • 查看该SDK具体构建版本号+buildStr
  • 如果使用XCode8及以上版本的IDE工具,请在主项目的info.plist中设置相关权限设置NSCameraUsageDescription(相机权限)