接入文档

接口调用

最近更新时间:2020-09-21 15:56:37

SDK 接口调用方法

SDK 的功能通过 WBFaceVerifyCustomerService 这个类的方法进行调用 ,其中 SDK 中使用的 nonce,sign 等重要信息,需要合作方从自己后台拉取,并且两者不能缓存,使用后即失效,详细接口说明如下,其他的操作请参考 Demo 中的登录接口的参数说明:

#import <UIKit/UIKit.h> 
#ifndef WBFaceVerifyConst_h 
#define WBFaceVerifyConst_h 
UIKIT_EXTERN NSString *const WBCloudFaceVerifySDKVersion;// 当前版本
/** 
具体的活体检测的类型: 
- WBFaceVerifyLivingType_Action: 动作活体 
- WBFaceVerifyLivingType_Light: 光线活体 
*/ 
typedef NS_ENUM(NSInteger,WBFaceVerifyLivingType){ 
WBFaceVerifyLivingType_Action, 
WBFaceVerifyLivingType_Light, 
}; 
}; 
/** 
SDK使用的主题风格 
- WBFaceVerifyThemeDarkness: 暗黑色系主题(当前只支持暗黑色系) 
- WBFaceVerifyThemeLightness: 明亮色系主题 
*/ 
typedef NS_ENUM(NSInteger, WBFaceVerifyTheme) { 
WBFaceVerifyThemeDarkness, 
WBFaceVerifyThemeLightness, 
}; 
#endif /* WBFaceVerifyConst_h */

入口方法说明

  1. faceID +活体检测+人脸比对服务(身份证的网纹照片进行对比)(新接口)
/*
初始化云刷脸sdk,仅做参数初始化与登录,不拉起刷脸页面
登录有时效性,建议在登录完成后success回调中拉起刷脸页面!!
登录过程为异步操作,多次登录以最后一次收到的结果为准!!

此SDK接口中
合作方后台开发需要通过后台接口获取sign,
然后根据自带比对源接口, 通过后台接口获取faceId!!!!(native端无需传入自带比对源图)

注意, 请使用 dispatch_async(dispatch_get_main_queue(), ^{  }); 异步调用SDK的入口方法

@param userid 用户唯一标识, 由合作方自行定义
@param nonce  满足接入要求的32位随机数
@param sign 满足接入要求的40位签名值
@param appid 腾讯服务分配的appid
@param orderNo 每次人脸身份认证请求的唯一订单号: 建议为32位字符串(不超过32位)
@param apiVersion 后台api接口版本号(不是SDK的版本号),默认请填写@"1.0.0"
@param licence 腾讯给合作方派发的前端使用的licence(该licence同app当前使用的bundle id绑定)
@param facetype 人脸身份认证的类型
@param faceId 合作方必须要先在获取faceId的接口里送入用户自带比对源图片信息,得到相应的faceId后,再送入sdk, 若为空,则开启仅活体检测模式!!!!

@param sdkConfig SDK基础配置项目
@param success 服务登录成功回调,登录成功以后开始进行活体和检测服务
@param failure 服务登录失败回调,具体参考错误码文档
*/
-(void)initSDKWithUserId:(NSString *)userid
                   nonce:(NSString *)nonce
                    sign:(NSString *)sign
                   appid:(NSString *)appid
                 orderNo:(NSString *)orderNo
              apiVersion:(NSString *)apiVersion
                 licence:(NSString *)licence
                faceType:(WBFaceVerifyLivingType)facetype
                  faceId:(NSString *)faceId
               sdkConfig:(WBFaceVerifySDKConfig *)sdkConfig
                 success:(void (^)())success
                 failure:(void (^)(WBFaceError * _Nonnull))failure;

/**
 以上一次的登录结果拉起刷脸页面,必须先登录再拉起刷脸页面

 @return 拉起是否成功
 */
- (BOOL)startWbFaceVeirifySdk;
  1. faceID +活体检测 + 人脸比对服务(身份证的网纹照片进行对比)(老接口)
/**
 接口服务包含: 活体检测 + 人脸比对(身份证的网纹照片进行对比) -- 使用faceID版本(只支持WBFaceVerifyLivingType_Action,WBFaceVerifyLivingType_Light, 不支持 WBFaceVerifyLivingType_Number)

 此SDK接口中
 合作方后台开发需要通过后台接口获取sign,
 然后根据身份证+姓名通过后台接口, 获取faceId!!!!(native端无需传入身份证, 姓名)

 @param userid 用户唯一标识, 由合作方自行定义
 @param nonce  满足接入要求的32位随机数
 @param sign 满足接入要求的40位签名值
 @param appid 腾讯服务分配的appid
 @param orderNo 每次人脸身份认证请求的唯一订单号: 建议为32位字符串(不超过32位)
 @param apiVersion 后台api接口版本号(不是SDK的版本号),默认请填写@"1.0.0"
 @param licence 腾讯给合作方派发的前端使用的licence(该licence同app当前使用的bundle id绑定)
 @param facetype 人脸身份认证的类型:只支持 WBFaceVerifyLivingType_Action,WBFaceVerifyLivingType_Light, 不支持WBFaceVerifyLivingType_Number

 @param faceId 合作方必须要先在获取faceId的接口得到相应的faceId后,再送入sdk!!!!

 @param sdkConfig SDK基础配置项目
 @param success 服务登录成功回调,登录成功以后开始进行(做动作/光线反射)活体动作检测
 @param failure 服务登录失败回调,具体参考错误码文档
 */
-(void)loginInLiveCheckAndCompareWithIdImageService:(NSString *)userid
                                              nonce:(NSString *)nonce
                                               sign:(NSString *)sign
                                              appid:(NSString *)appid
                                            orderNo:(NSString *)orderNo
                                        apiVersion:(NSString *)apiVersion
                                            licence:(NSString *)licence
                                           faceType:(WBFaceVerifyLivingType)facetype
                                             faceId:(NSString *)faceId
                                          sdkConfig:(WBFaceVerifySDKConfig *)sdkConfig
                                            success:(void (^)())success
                                            failure:(void (^)(WBFaceError *error))failure;
  1. faceID + 活体检测 + 人脸比对服务(合作方提供的比对源图片进行比对)
/**
 接口服务包含: 活体检测 + 人脸比对(合作方提供的比对源图片进行比对) -- 使用faceID版本(只支持WBFaceVerifyLivingType_Action,WBFaceVerifyLivingType_Light, 不支持 WBFaceVerifyLivingType_Number)

 此SDK接口中
 合作方后台开发需要通过后台接口获取sign,
 然后根据自带比对源接口, 通过后台接口获取faceId!!!!(native端无需传入自带比对源图)

 @param userid 用户唯一标识, 由合作方自行定义
 @param nonce  与服务端生成签名的随机数保持一致
 @param sign 满足接入要求的40位签名值
 @param appid 腾讯服务分配的appid
 @param orderNo 每次人脸身份认证请求的唯一订单号: 建议为32位字符串(不超过32位)
 @param apiVersion 后台api接口版本号(不是SDK的版本号),默认请填写@"1.0.0"
 @param licence 腾讯给合作方派发的前端使用的licence(该licence同app当前使用的bundle id绑定)
 @param facetype 人脸身份认证的类型:只支持 WBFaceVerifyLivingType_Action,WBFaceVerifyLivingType_Light, 不支持WBFaceVerifyLivingType_Number

 @param faceId 合作方必须要先在获取faceId的接口里送入用户自带比对源图片信息,得到相应的faceId后,再送入sdk!!!!
 @param sdkConfig SDK基础配置项目
 @param success 服务登录成功回调,登录成功以后开始进行活体和检测服务
 @param failure 服务登录失败回调,具体参考错误码文档
 */
-(void)loginInLiveCheckAndCompareWithSourceImageService:(NSString *)userid
                                                  nonce:(NSString *)nonce
                                                   sign:(NSString *)sign
                                                  appid:(NSString *)appid
                                                orderNo:(NSString *)orderNo
                                             apiVersion:(NSString *)apiVersion
                                                licence:(NSString *)licence
                                               faceType:(WBFaceVerifyLivingType)facetype
                                                 faceId:(NSString *)faceId
                                              sdkConfig:(WBFaceVerifySDKConfig *)sdkConfig
                                                success:(void (^)())success
                                                failure:(void (^)(WBFaceError *error))failure;

个性化参数设置

SDK 登录接口 startX(X 指以上三种接口)方法中需要传入 WBFaceVerifySDKConfig 字段,通过该对象可以配置 SDK 中其他基础配置:包括设置是否展示成功/结果页面,主题风格,资源路径等,具体参考头文件。

/**
 人脸识别SDK 基础配置类
 */
@interface WBFaceVerifySDKConfig : NSObject

/**
 SDK中拉起人脸人活体检测界面中使用UIWindow时的windowLevel配置,默认配置是1 + UIWindowLevelNormal

 如果接入放App中有其他自定义UIWindow, 为了防止界面覆盖,可以酌情设置该参数
 */
@property (nonatomic, assign) NSUInteger windowLevel;

/**
 人脸识别服务结果页是否展示配置项 - 是否展示人脸对比成功界面 -> 建议关闭
 */
@property (nonatomic, assign) BOOL showSuccessPage;

/**
 人脸识别服务结果页是否展示配置项 - 是否展示人脸对比失败界面 -> 建议开启
 */
@property (nonatomic, assign) BOOL showFailurePage;

/**
人脸识别服务是否通过录像, 从而进行视频存证 -> 建议开启

default: YES
*/
@property (nonatomic, assign) BOOL recordVideo;

/**
光线活体专属配置: 预检测过程是否允许用户闭眼

default: YES – 允许用户闭眼
*/
@property (nonatomic, assign) BOOL enableCloseEyes;
/**
 是否由SDK内部处理sdk网络请求的cookie

 默认值: NO, 默认情况使用iOS系统策略处理cookie

 如果设置 manualCookie = YES,表示sdk内部会手动处理cookie
 */
@property (nonatomic, assign) BOOL manualCookie;
/**
 人脸识别页面中的主题风格, 需要配合不同资源包使用:
 WBFaceVerifyThemeDarkness - 暗灰主题
 WBFaceVerifyThemeLightness - 明亮主题
 */
@property (nonatomic, assign) WBFaceVerifyTheme theme;

/**
 是否静音
 默认值:NO
 */
@property (nonatomic, assign) BOOL mute;

/**
 刷脸服务走的网络协议栈
 默认:YES
 */
@property (nonatomic, assign) BOOL isIpv6;
/*
  合作方个性化提示语定制,可设置提示语内容以及提示语位置
  默认:WBFaceCustomTipsLoc_Bottom 
默认提示语在刷脸识别框下方,也可设置为在识别框上方
 */
@property (nonatomic, assign) WBFaceCustomTipsLoc tipsLoc;

/*
 检测过程中展示的提示语文案
 默认为空,合作方可根据需求传入提示语
 */
@property (nonatomic, copy) NSString *customTipsInDetect;

/*
 上传过程中展示的提示语文案
 默认为空,合作方可根据需求传入提示语
 */
@property (nonatomic, copy) NSString *customTipsInUpload;

/*
 是否打开美颜效果
 默认为YES (iPhone6S以下机型无法开启,强制关闭)
 */
@property (nonatomic, assign) BOOL enableFaceBeauty;
/**
 默认 sdk 配置接口
 */
+(instancetype)sdkConfig;
@end