腾讯云人脸核身核身结果返回_AI解决方案_同尘科技

人脸核身 2年前 (2022-11-08) 浏览 68

iOS SDK 中,人脸识别结果返回给接入方有两种方式,两种结果回调都在 Main Thread 完成:
如果您只需要获取刷脸结果,不需要拉取视频和照片,您可以信任前端 SDK 核身结果,返回中的 isSuccess 字段 YES 代表人脸核身对比成功;NO 代表人脸核身失败。核身 SDK 和核身后台服务之间通信采用加密方式,可以有效防止结果篡改。1. 通过实现 WBFaceVerifyCustomerServiceDelegate 的 WBFaceVerifyCustomerServiceDelegate 方法,通过该方法返回 WBFaceVerifyResult 对象。2. 无需实现 delegate 方法,通过注册 WBFaceVerifyCustomerServiceDidFinishedNotification 通知,在接受到该通知时,进行结果处理。WBFaceVerifyCustomerServiceDidFinishedNotification 通知中,通过获取该通知的 userInfo,获取字典中 key 为 faceVerifyResult 对应的 value 对象就是 WBFaceVerifyResult。

WBFaceVerifyResult 说明

字段名 类型 字段含义 说明
isSuccess BOOL 人脸核身是否成功 YES 代表认证成功,NO 代表认证失败,具体原因参考 人脸核身 IOS 错误码
sign NSString 签名 供 App 校验人脸核身结果的安全性
liveRate NSString 活体检测分数
similarity NSString 人脸比对分数 “仅活体检测” 类型不提供此分数
WbFaceError 自定义对象 人脸核身错误 人脸核身成功时为 nil

WBFaceError 对象说明

字段名 类型 字段含义 说明
domain NSString 错误发生的阶段 只有当 domain=WBFaceErrorDomainCompareServer 时表示用户完成了刷脸,可以通过接口去拉取刷脸结果。其他 domain 表示用户刷脸中途退出或命中了风控逻辑,后端无法查询到刷脸结果
code NSString 错误码
desc NSString 错误描述 如有需求,可以展示给用户
reason NSString 错误信息内容 错误的详细实际原因,主要用于定位问题
RiskInfo 自定义对象 后台返回的刷脸风险信息 详见备注说明。请注意:部分情况下此字段不返回,请不要做强校验

RiskInfo 对象说明

RiskInfo 是 SDK 用来给合作方传递刷脸风险信息的对象,在结果回调的 WBFaceVerifyResult 对象中作为参数返回给合作方 App。
其中 RiskInfo 对象的各个字段意义如下表所示:

字段名 类型 字段含义 说明
deviceInfoLevel String 设备风险等级 设备风险级别,如果命中风险则显示
deviceInfoTag String 设备风险标签 设备风险等级描述
riskInfoLevel String 身份风险等级 如果命中身份风险则显示风险等级
riskInfoTag String 身份风险标签 身份风险等级描述

详情见 SaaS 错误码风险标签说明。

@interface WBFaceSimpleModeResult : NSObject
/** 结果对应的订单号 */@property (nonatomic, copy, readonly) NSString *orderNo;
/** 接下来用于人脸对比的安全性参数 */@property (nonatomic, copy, readonly) NSString *encryptAESKey;
/** 视频编码 */@property (nonatomic, copy, readonly) NSString *userVideoString;
/** 使用传入 publickey 加密过的 AES */@property (nonatomic, copy, readonly) NSString *videoEncryptAESKey;/** 用于后面进行人脸比对的数据参数 */@property (nonatomic, copy, readonly) NSString *identifyStr;
@end
/* 增强级结果,具体参数含义参考后台返回字段,结果为透传 */@interface WBFaceRiskInfo : NSObject@property (nonatomic, copy, readonly) NSString *deviceInfoLevel;@property (nonatomic, copy, readonly) NSString *deviceInfoTag;@property (nonatomic, copy, readonly) NSString *riskInfoLevel;@property (nonatomic, copy, readonly) NSString *riskInfoTag;@end
/** 人脸服务返回结果对象 */@interface WBFaceVerifyResult : NSObject/** 人脸比对结果是否通过:
YES:表示人脸服务通过 NO:表示人脸服务不通过 */@property (nonatomic, assign, readonly) BOOL isSuccess;/** 结果对应的订单号 */@property (nonatomic, copy, readonly) NSString *orderNo;/** isSuccess == YES 时,sign 有值,可以去后台拉取本次人脸服务的照片,视频存证 isSuccess == NO 时,sign 无意义 */@property (nonatomic, copy, readonly) NSString * sign;/** 活体检测服务得分
 isSuccess == YES 时, liveRate 有值:        1. liveRate 可能是 @"分数为空", 这种情况具体咨询合作方        2. float类型的字符串, 请调用 [liveRate floatValue] 获取具体分数 isSuccess == NO  时, liveRate 无意义 */@property (nonatomic, copy, readonly) NSString * liveRate;
/** 人脸比对服务得分
 isSuccess == YES 时, similarity 有值:         1. similarity 可能是 @"分数为空", 这种情况具体咨询合作方         2. float类型的字符串, 请调用 [similarity floatValue] 获取具体分数 isSuccess == NO  时, similarity 无意义 */@property (nonatomic, copy, readonly) NSString * similarity;
/** 人脸比对图片之一
isSuccess == YES 时,该属性是上送比对图片之一UIImage的base64编码字符串(图片格式是jpg)
isSuccess == NO 时,如果是 SDK 返回的错误码,该属性为nil,如果是后端返回的错误,该属性是上送比对图片之一UIImage的base64编码字符串(图片格式是jpg) */@property (nonatomic, copy, readonly) NSString * userImageString;
/** isSuccess == YES 时候, error 无意义 isSuccess == NO  时, error中存储的具体错误信息,参考 WBFaceError.h */@property (nonatomic, strong, readonly) WBFaceError * error;
#pragma mark - 非标专用返回参数
@property (nonatomic, strong, readonly) WBFaceSimpleModeResult *simpleModeResult;
#pragma mark - 增强SDK专用参数@property (nonatomic, strong, readonly) WBFaceRiskInfo *riskInfo;
#pragma mark -
-(NSString *)description;@end



对解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?