腾讯云人脸核身核身结果返回_AI解决方案_同尘科技
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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?