›身份证识别

KYC验证/人脸比对

  • 产品介绍
  • 计费说明
  • SDK-接入文档(android版)
  • SDK-接入文档(ios版)
  • SDK-获取BizToken
  • SDK-验证接口
  • SDK-错误码说明
  • H5接入说明
  • 小程序接入说明

身份证识别

  • 产品介绍
  • 计费说明
  • SDK接入文档(Android版)
  • SDK接入文档(ios版)
  • 错误码说明
  • H5接入说明
  • 小程序接入说明
  • API接入说明

鉴权说明

  • 鉴权说明

FAQ

  • 充值相关
  • SDK集成相关

SDK接入文档(Android版)

SDK接入文档

入口类:IDCardManager

1 获取IDCardManager实例

  /**
    * 获取IDCardManager实例
    * @return IDCardManager
    */
  public synchronized static IDCardManager getInstance()

2 初始化

/**
  * 初始化
  * @param context
  * @param sign 身份签名
  * @param signVersion 签名算法版本
  * @param config 用户检测配置
  * @param initCallBack 初始化回调监听
  */
  public void init(Context context,String sign,String signVersion,UserDetectConfig config,InitCallBack initCallBack)

  public class UserDetectConfig {
      private int screenDirection=0;//屏幕方向 0竖屏 1 横屏
      private int captureImage=0;//0:双面,1:人像面,2:国徽面(默认双面)
  }
/**
  * 初始化回调监听
  */
public interface InitCallBack{
    /**
      * 初始化成功
      */
    void initSuccess(String bizToken);
    /**
      * 初始化失败
      * @param resultCode 错误结果码
      * @param resultMessage 错误消息
      */
    void initFailed(int resultCode,String resultMessage);
}

3 设置检测结果回调监听

/**
  * 设置检测回到监听
  */
public void setIdCardDetectListener(IDCardDetectListener idCardDetectListener)
/**
  * 检测回调
  */
public interface IDCardDetectListener {
    void onIdCardDetectFinish(IDCardResult result);
}

4 开始检测

/**
  *开始检测
  *@param bizToken
  *@param bizNo 客户业务流水号
  */
public void startDetect(Context context,String bizToken,String bizNo)

5 获取sdk构建信息

/**
  *@return sdk构建信息
  */
public String getBuildInfo()

6 获取sdk版本号

public String getBuildInfo()

返回值

public class IDCardResult {
    private int resultCode; //结果码
    private String resultMessage; //结果信息
    private String bizNo;
    private IDCardInfo idCardInfo; //身份证识别结果
}
public class IDCardInfo {
    private byte[] imageFrontside; //身份证正面拍摄照片
    private byte[] imageBackside;  //身份证背面拍摄照片
    private byte[] imagePortrait;  //身份证人像照片
    /**
      *表示身份证正面图片的完整性,平整性;
      *0:表示身份证部分是完整的;
      *1:表示身份证不完整,但是内容区域全部都在图片内;
      *2:表示身份证不完整,且部分内容在区域外;
      */
    private int frontsideCompleteness;
    private int backsideCompleteness;//身份证背面 同上
    private PointF[] frontsideCardRect;// 返回四个点的坐标 顺序为 左上 右上 右下 左下
    private PointF[] backsideCardRect;// 返回四个点的坐标 顺序为 左上 右上 右下 左下
    private AttrStruct name; //姓名
    private AttrStruct gender; //性别
    private AttrStruct nationality;//民族
    private AttrStruct birthYear; //出生年
    private AttrStruct birthMonth;//出生月
    private AttrStruct birthDay;//出生日
    private AttrStruct idcardNumber;//身份证号码
    private AttrStruct address;//住址
    private AttrStruct portrait;//照片
    private AttrStruct validDateStart;//有效期起始日期
    private AttrStruct validDateEnd; //有效期截止日期
    private AttrStruct issuedBy;//签发机关
    private LegalityStruct frontsideLegality;//表示对身份证正面照片的五种分类的结果 包含五个key-value pair,每个key表示一种分类类型,每个value为此类型的概率值(取[0,1]区间实数
    private LegalityStruct backsideLegality;//表示对身份证背面照片的五种分类的结果
}
public class AttrStruct {
    private String text;//文字
    private PointF[] rect;// 返回四个点的坐标 顺序为 左上 右上 右下 左下
    private float quality;// 可信度
    private int logic;//是否有逻辑错误 0正常 1 有逻辑错误
}
public class LegalityStruct {
    private float edited;//用工具合成或者编辑过的身份证图片得分
    private float idPhoto;//正式身份证照片得分
    private float phoneCopy;//正式身份证的复印件得分
    private float screen;//手机或电脑屏幕翻拍的照片得分
    private float temporaryIdPhoto;//临时身份证照片得分
    private float idPhotoThreshold;//表示判断为正式身份证照片的阈值,通常来说,如果idPhoto的值不低于该阈值,可以认定为真实身份证的实拍;
}

接入文档

1 将idcard_ocr.aar放入项目中,路径如xxx/app/libs

1

2 build.gradle文件中加入如下代码

repositories{
    flatDir{
        dirs 'libs'
    }
}
dependencies {
    ...
    compile(name:'idcard_ocr', ext:'aar')
}

3 调用实例

//设置检测监听回调
IDCardManager.getInstance().setIdCardDetectListener(DemoActivity.this);

//初始化
IDCardManager.getInstance().init(DemoActivity.this, sign, "hmac_sha1", new IDCardManager.InitCallBack() {
            @Override
            public void initSuccess(String bizToken) {
                //初始化成功后调用开始检测
                IDCardManager.getInstance().startDetect(DemoActivity.this, bizToken, "");
            }

            @Override
            public void initFailed(int resultCode, String resultMessage) {

            }
        });
← 计费说明SDK接入文档(ios版) →