尊敬的用户您好!即日起本官网将启用新域名"shanyan.253.com",原域名(flash.253.com)将自动跳转至新域名,原域名后期将停用。请您及时更新浏览器收藏夹或直接使用新域名访问本官网。万分感谢您的配合!

闪验、创蓝闪验

一、准备工作


概述


本文档是人像比对SDK_iOS v2.0.0 版本的接入文档用于指导SDK的使用方法,默认读者熟悉Xcode编译器的使用以及iOS编程语言。


前置条件


  • SDK版本:V 2.0 
  • Xcode版本 : V9.4.1及以上版本,iOS9.0 及以上版本。


创建应用


  • 提示:一个应用对应一个appid,多个应用(不同bundleID)需在闪验平台创建多个应用以对应多个appid

应用的创建流程及APPID/APPKEY的获取,请查看「账号创建」文档



快速体验Demo


  1. demo bundle Identifer 换成自己的项目的Bundle Identifier(与平台创建项目时提交的Bundle Identifier 对应
  2.  编译运行。



开发环境搭建


  1. 导入FrameWork :将实人认证SDK压缩包中framework中的所有资源添加到工程中,并选择  Copy Items if need  选项


image.png



  1. 配置Xcode
  • 关闭Bitcode 。设置Xcode->TARGETS->Build Setitngs->EnableBitcode  NO


image.png



  • Xcode->TARGETS->Build Settings->Linking->Other Linker Flags 添加–ObjC -lstdc++



image.png



  •  添加系统依赖库  Xcode->TARGETS->General->Linked Framworks and Libraries 添加一下了依赖库


libz.tbd

libbz2.tbd

libiconv.tbd

libz.1.2.5.tbd

VideoToolbox.framework

image.png


  • Xcode->TARGETS->Info添加相机权限访问描述


image.png



二、SDK使用说明


1.初始化


请确保在调用人像比对服务前,调用此接口。所以我们建议在应用启动时初始化SDK.


/**
 初始化SDK
 
 @param appkey 创蓝平台APPkey
 @param appid 创蓝平台APPid
 */
+(void)initSDKWithAPPkey:(NSString * _Nonnull)appkey
                   appid:(NSString * _Nonnull)appid;


参数描述


参数

是否必填

类型

说明

appkey

NSString

人像比对 对应的appkey

appid

NSString

人像比对 对应的appkey


调用示例:

#import <CLLiveCheck/CLLiveCheck.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    ...
    //初始化SDK
    [CheckSDK initSDKWithAPPkey:@"appkey" appid:@"appid"];
    ...
    return YES;
}


2.检测参数配置及调用SDK



#import "CheckLiveViewController.h"

//初始化SDK UI
    CheckLiveViewController *checkLiveViewController = [[CheckLiveViewController alloc] initUserName:@"张三" idCarNumber:@"张三的身份证号" checkLiveDuration:10];
    
    //设置活体检测 动作 传入nil 为 4个动作的随机序列
    [checkLiveViewController setDetectionSequence:@[@(BLINK),@(MOUTH),@(NOD),@(YAW)]];
    
    //设置 图片输出方式 以及 活体检测复杂度
    [checkLiveViewController setOutputType:OUTPUT_MULTI_IMAGE complexity:COMPLEXITY_NORMAL];
    
    //hack 检测设置 (2.0新增)默认为NO
    [checkLiveViewController setHackCheck:YES];
    
    //设置人像核验结果回调
    [checkLiveViewController setResultBlock:^(ResultType type, NSDictionary * _Nullable result, NSError * _Nullable error) {
        
    }];

  
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:checkLiveViewController];
    nav.navigationBar.translucent = NO;
    [self presentViewController:nav animated:YES completion:^{
        //启动检测流程
        [checkLiveViewController startLiveCheck];
    }];


参数及其含义:请参考CheckLiveViewController  类注释以及CLEnumTypy.h的定义


人证校验结果 result  示例:


{       

 "tradeNo":"633756435473235968",   

 "chargeStatus":1,

 "code":"200000",

 "message":"成功",

 "data":{

      "status":"OK",
           
"identity":{
               
"reason":"Gongan status OK",
               
"validity":true     

      },
            
"confidence":0.9357142857142857,
            
"request_id":"TID3a82aa92639d4eea9f7f44c1b84872b9",

       "selfie":{
               
"image_id":"09ee2fbceb8f44ad80493f2ad1955ff4"       

      }

 }

}



result字段含义:


字段类型

说明

tradeNo

String

交易流水号

chargeStatus

Bool

是否收费

code

int

业务码 200000 为成功,其余为失败(特别说明,1102,1103为 hack 接口特有返回码,仅在客户配置需要hack检测且 hack接口失败时 会返回该业务码,1102为网络失败,1103失败详情见message)

message

String

业务详情


data

Object

人证比对结果



data字段及其含义:


字段

类型

说明

status

String

状态,正常为OK,其他为失败。(具体见status一览表)

identity

Object

身份证号码 与 姓名校验结果

confidence

Float

置信度(0~1)。值越大,代表是相同人的可能性越大(见confidece 表)

request_id

String

本次请求id

selfie/image_id

String 

本次用来与身份证图像对比  的图片的id


identity 字段及其含义



字段

类型

说明

validity

Bool

身份证号与姓名校验结果

reason

String

身份证号与姓名校验错误原因




confdence 置信度阀值 及 错误率表



阈值0.40.50.60.70.80.9
错误率十分之一百分之一千分之一万分之一十万分之一百万分之一




status 一览表


1

PHOTO_SERVICE_ERROR

数据源服务服务出错,详情见字段reason

2

ENCODING_ERROR

参数非UTF-8编码

3

IMAGE_ID_NOT_EXIST

图片不存在

4

IMAGE_FILE_SIZE_TOO_BIG图片体积过大

5

NO_FACE_DETECTED上传的图片未检测出人脸

6

CORRUPT_IMAGE文件不是图片文件或已经损坏

7

INVALID_IMAGE_FORMAT_OR_SIZE

图片大小或格式不符合要求

8

INVALID_ARGUMENT

请求参数错误,具体原因见 reason 字段内容

9

UNAUTHORIZED账号或密钥错误

10

KEY_EXPIRED

账号过期,具体情况见 reason 字段内容

11

RATE_LIMIT_EXCEEDED

调用频率超出限额

12

NO_PERMISSION

无调用权限

13

OUT_OF_QUOTA

调用次数超出限额

14

NOT_FOUND

请求路径错误

15

INTERNAL_ERROR

服务器内部错误