3 iOS SDK Mini Face使用说明

3.1 准备工作

  • 确认已经获取AppID、AppKey、活体 License(idl-license.face-ios)和 Face_Name。将idl-license.face-ios放到CWResource.bundle资源包中。
  • Face_Name的具体命名规则:

  appName +“-face-ios”

  appName为申请账户时,提交给远程实名管理平台的应用名称。

3.2 引入SDK和配置文到工程中

  • 将下面提到的framework和bundle资源添加到项目。

    1.PayEgisFace.framework

    2.IDLFaceSDK.framewo

    3.com.baidu.idl.face.faceSDK.bundle

    4.com.baidu.idl.face.model.bundle

    5.CWResource.bundle

  • 在Linked Frameworks and Libraries 添加以下库

    1. libstdc++.tbd
    2. PayEgisFace.framework
    3. CoreMedia.framework
    4. AVFoundation.framework
    5. IDLFaceSDK.framework
    6. Foundation.framework

  • 修改项目配置

    Other Link flags添加-ObjC

info.plist 配置

  1. iOS 集成需要在 info.plist 文件中添加“Privacy - Camera Usage Description”字段,客户根据业务需求填写相关说明。
  2. iOS 集成需要在 info.plist 文件中添加“Privacy - Microphone Usage Description”字段,客户根据业务需求填写相关说明。
  • 在所需类中导入.h文件
#import <PayEgisFace/PayEgisAuthentication.h>

3.3 SDK初始化

  方法名称为:

- (void) initSDK : (NSMutableDictionary *) context completionBlock:(PayegisAuthInitCompletionBlock)completionBlock

  参数说明:

参数名称 参数类型 描述 备注
context NSMutableDictionary 上下文 初始化参数

  上下文参数说明:

参数名称 参数类型 描述 备注
PayegisAuthSDKAppId NSString AppId 申请下发的id
PayegisAuthSDKAppKey NSString AppKey 申请下发的key
PayegisAuthSDKFaceName NSString Face_Name 应用名称(注册开户填写的应用名)

参考代码:

PayegisFaceSDK *_sdk = [PayegisFaceSDK shareInstance]; NSMutableDictionary *context = [NSMutableDictionary dictionaryWithObjectsAndKeys: Face_Name,PayegisAuthSDKFaceName , AppId,PayegisAuthSDKAppID, AppKey,PayegisAuthSDKAppKEY, nil]; [_sdk initSDK:context completionBlock:^(NSError *error) { }];

  活体检测3.8.2.2之前有两个接口,3.8.2.2新增两个接口:

startLivenessAction: completion:、startLivenessAction: randomBool:completion:
  • 传入随机数目[1~6],做相应数目的随机动作。

  方法名称为:

-(void)startLivenessAction:(NSInteger) count completion:(LivenessCompletionBlock)completionBlock

  需要以下入参

参数名称 参数类型 描述 备注
count NSInteger 活体数目 count < 1动作数目默认为1 1=< count <=6 动作数目为count count > 6 动作数目默认为6
completionBlock Block 返回图片 returnImage

参考代码:

WeakSelf(weakSelf) [_sdk startLivenessAction:3 completion:^(UIImage *retunImage) { if (retunImage == nil) { [self showError:@"未获取到图片"]; }else{ weakSelf.realImageView.image = retunImage; } }];
  • 传入动作数组,决定是否随机执行活体检测动作。

  方法名称为:

- (void) startLivenessAction:(NSArray *) actionsArray randomBool:(BOOL)randomBool completionBlock:(LivenessCompletionBlock) completionBlock

  需要以下入参

参数名称 参数类型 描述 备注
actionsArray NSArray 动作数组 不允许设置重复动作
PEFaceLivenessActionTypeLiveEye = 0,// 眨眼
PEFaceLivenessActionTypeLiveMouth = 1, // 张嘴 PEFaceLivenessActionTypeLiveYawRight = 2, // 向右摇头 PEFaceLivenessActionTypeLiveYawLeft = 3, // 向左摇头 PEFaceLivenessActionTypeLivePitchUp = 4, // 抬头 PEFaceLivenessActionTypeLivePitchDown = 5 // 低头
randomBool BOOL 是否随机 Yes 随机 NO 不随机
completionBlock Block 返回图片 returnImage

参考代码:

WeakSelf(weakSelf) [_sdk startLivenessAction:@[@(PEFaceLivenessActionTypeLiveEye),@(PEFaceLivenessActionTypeLiveYawLeft),@(PEFaceLivenessActionTypeLiveYawRight)] randomBool:YES completionBlock:^(UIImage *retunImage) { if (retunImage == nil) { [self showError:@"未获取到图片"]; }else{ weakSelf.realImageView.image = retunImage; } }];

新增两个接口如下

  • 传入随机数目[1~6],做相应数目的随机动作,超时弹出警告框,点击确认后可以重新开始进行活体动作。

  方法名称为:

-(void)startLivenessAction:(NSInteger) count untilFinish:(BOOL)untilFinish completion:(LivenessCompletionBlock)completionBlock

  需要以下入参

参数名称 参数类型 描述 备注
count NSInteger 活体数目 count < 1动作数目默认为1 1=< count <=6 动作数目为count count > 6 动作数目默认为6
untilFinish BOOL 超时是否退出 YES 超时不退出 NO 超时退出
completionBlock Block 返回图片 returnImage

参考代码:

WeakSelf(weakSelf) [_sdk startLivenessAction:2 untilFinish:YES completion:^(UIImage *returnImage) { if (returnImage == nil) { [self showError:@"未获取到图片"]; }else{ weakSelf.realImageView.image = returnImage; } }];
  • 传入随机数目[1~6]和事务号Token,做相应数目的随机动作,有两次机会。

  方法名称为:

-(void)startLivenessAction:(NSInteger) count token:(NSString *)token closeBlock:(void(^)(BOOL)) closeBlock completion:(LivenessCompletionBlock)completionBlock

  需要以下入参

参数名称 参数类型 描述 备注
count NSInteger 活体数目 count < 1动作数目默认为1 1=< count <=6 动作数目为count count > 6 动作数目默认为6
token NSString 事务号
completionBlock Block 返回图片 returnImage

参考代码:

WeakSelf(weakSelf) [_sdk startLivenessAction:2 token:@"" closeBlock:^(BOOL boolv) { // 活体检测关闭按钮操作 } completion:^(UIImage *returnImage) { if (returnImage == nil) { [self showError:@"未获取到图片"]; }else{ weakSelf.realImageView.image = returnImage; } }];

[danger] 注意

此方法是Pro版分离出活体检测framework后提供给Pro版标准流程调用的 不建议客户调用此方法

3.4 自定义活体检测页面

通过调用- (void) setFaceLivessTheme:(NSDictionary *) dictionary;方法可以设置活体检测页面文字颜色、圆圈颜色、倒计时边框颜色和文字颜色。

  • 下图设置活体检测页面相关文字提示、圆圈、倒计时圆圈和倒计时文字的颜色。

  • 下图设置活体检测页面关闭按钮、警告提示、成功提示、背景的图片。

方法名称为:

- (void) setFaceLivessTheme:(NSDictionary *) dictionary;

参数说明:

参数 参数类型 描述 备注
dictinoary NSDictionary 页面相关控件颜色 FaceRemindLabelColor 文字提示颜色
FaceCircleColor 圆圈颜色
FaceCountDownColor 倒计时颜色
FaceCountDownLabelColor 倒计时文字颜色

参考代码:

NSDictionary *faceDictinoary = [NSDictionary dictionaryWithObjectsAndKeys: [UIColor purpleColor],FaceRemindLabelColor, [UIColor brownColor],FaceCircleColor, [UIColor redColor],FaceCountDownColor, [UIColor greenColor],FaceCountDownLabelColor, nil]; [_sdk setFaceLivessTheme:faceDictinoary];

results matching ""

    No results matching ""

    results matching ""

      No results matching ""