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说明
| key | value |
|---|---|
| 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* 说明: 其他反馈信息,该参数当前版本默认为空 |
集成说明
集成步骤:
- 请将MGFaceIDDetect.framework和MGFaceIDDetectResource.bundle分别添加到工程中
- 添加依赖:在TARGETS - BuildPhases - Link Binary With Libraries中需要添加CoreMedia.framework,AVFoundation.framework,SystemConfiguration.framework,MGFaceIDDetect.framework
- 由于该SDK中使用了category,需要在TARGETS - Build Settings - OtherLinker Flags 中添加 -ObjC
- 该SDK中使用了C++,请将import并使用该SDK的类后缀改为.mm
开发指南
该SDK由两部分组成,分别为静态framework和模型。该SDK Deployment Info 为8.0,不支持模拟器。开发步骤如下:
- 获取签名,参见文档
- 使用
-initMGFaceIDDetectManagerWithSign:signVersion:imageRef:recordVideo:extraData:error:接口初始化 MGFaceIDDetectManager 对象,参数请查看API文档 - 初始化 MGFaceIDDetectManager 对象成功后,使用
-startMGFaceIDNetworkingDetect:callback接口进行 MegLiveV3 活体检测
注意:
- 查看该SDK具体版本号
+versionStr - 查看该SDK具体构建版本号
+buildStr - 如果使用XCode8及以上版本的IDE工具,请在主项目的info.plist中设置相关权限设置NSCameraUsageDescription(相机权限)
