更新记录

2.0.1(2019-08-05)

修复部分android 手机授权问题

2.0.0(2019-07-12)

新增文字识别OCR

查看更多

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://ask.dcloud.net.cn/article/35763
iOS 离线打包原生插件另见文档 https://ask.dcloud.net.cn/article/35764


有盾云慧眼人脸识别、文字识别OCR、活体比对

产品介绍

人脸识别全流程:通过身份证OCR识别获取身份证信息,经过活体检测验证,将抓拍的人脸与权威机构预留的照片、OCR识别的身份证头像照片,进行双重人脸比对、姓名身份证号码一致性验证,最终判断用户为真人且为本人。

文字识别OCR:基于业界领先的OCR识别技术,提供身份证、银行卡、行驶证、驾驶证等卡证识别服务。识别准确率高达99%,满足身份认证、金融开户、征信评估、平台商户入驻等高频信息录入场景的使用需求。

活体比对:指当前活体检测通过的用户人脸与历史留存的人脸进行比对验证,返回验证结果,确认是本人操作。该产品可配合云慧眼-人脸识别全流程使用,实现老用户历次操作刷脸验证或刷脸登陆功能。

原生插件通用使用流程:

  1. 购买插件并绑定的项目。
  2. HBuilderX中配置manifest的app原生插件选项并勾选模块,如需参数说明请登录有盾商户站(https://new-my.udcredit.com)查看对接文档,我们的插件是提供给有盾签约商户使用的,如需了解请在官网(https://www.udcredit.com/)查看。 合作电话:0571-56132612。
  3. 调用iOS、Android对应方法。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,根据有盾SDK回调配合业务需求进行修改。
  5. 开发完毕后正式云打包

调用方法示例: iOS

人脸识别全流程调用方法:iOS

startUDSdk_iOS() {              
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        notificationUrl: '商户异步通知地址',
        showInfo: true,
        isManualOCR: true,
        isExposureDetection: true,
        safeMode: 1,
        clearnessType: 0
    };

    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartIdSafeFaceAuth(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title:'有盾iOSSDK回调',
            content:jsonResult,
            confirmText:'确定',
            showCancel:false
        });
    });
}

身份证OCR调用方法:iOS

startUDSdk_IDCardOcr_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        isManualOCR: true,
        clearnessType: ClearnessType.NORMAL
    };

    var jsonParam = JSON.parse(JSON.stringify(params));
    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartIDCardOcr(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾iOS身份证回调',
            content: params,
            confirmText: '确定',
            showCancel: false
        });
    });
},

驾驶证OCR调用方法:iOS

startUDSdk_DriverLicenseOcr_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isSingleFront: false,
        isManualOCR: true
    };
    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartDriverOcr(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾iOS驾驶证回调',
            content: params,
            confirmText: '确定',
            showCancel: false
        });
    });
},

行驶证OCR调用方法:iOS

startUDSdk_VehicleLicenseOcr_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isSingleFront: false,
        isManualOCR: true
    };
    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartVehicleOcr(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾iOS行驶证回调',
            content: params,
            confirmText: '确定',
            showCancel: false
        });
    });
},

银行卡OCR调用方法:iOS

startUDSdk_BankCardOcr_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isManualOCR: true
    };
    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartBankOcr(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾iOS银行卡回调',
            content: params,
            confirmText: '确定',
            showCancel: false
        });
    });
},

活体比对调用方法:iOS

// 活体比对-关联比对
startUDSdk_FacecompareWithpartnerOrderId_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        partnerOrderId: '关联订单号',
        notificationUrl: '商户异步通知地址',
        safeMode: global.SafeMode.NORMAL
    };

    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartFaceCompare(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾iOS人脸比对Base64回调',
            content: jsonResult,
            confirmText: '确定',
            showCancel: false
        });
    });
},
// 活体比对-Base64图片比对
startUDSdk_FaceCompareWithBase64String_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        imageBase64String: '标准格式base64图片字符串(可参考demo里面的转换方法)',
        notificationUrl: '商户异步通知地址',
        safeMode: global.SafeMode.NORMAL
    };

    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.dc_StartFaceCompare(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾iOS人脸比对Base64回调',
            content: jsonResult,
            confirmText: '确定',
            showCancel: false
        });
    });
},

调用方法示例: Android

人脸识别全流程Android

startUDSdk_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date());

    var params = {
            authKey: '商户authkey',
            outOrderId: orderId,
            notificationUrl: '商户异步通知地址',
            showInfo: true,
            isManualOCR: true,
            isExposureDetection: true,
            safeMode: 0,
            clearnessType: 0
    };

    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');
    engine.faceAuth(jsonParam, function(result) {
            var jsonResult = JSON.stringify(result);
            uni.showModal({
                title:'有盾AndroidSDK回调',
                content:jsonResult,
                confirmText:'确定',
                showCancel:false
            });
        });
}

身份证OCR Android

startUDSdk_IdCardOCR_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号     
    var params = {
            authKey: '商户authkey',
            outOrderId: orderId,
            isManualOCR: true,
            clearnessType: 1
        };

    const engine = uni.requireNativePlugin("UD-Yunhuiyan");
    console.log("uniapp ---- params " + JSON.stringify(params))
    engine.idCardOCR(params, function(result) {
            uni.showModal({
                title: '有盾AndroidSDK回调',
                content: result,
                confirmText: '确定',
                showCancel: false
            });
        });
}

驾驶证OCR Android

startUDSdk_DriverOCR_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isSingleFront: false,
        isManualOCR: true
    };

    const engine = uni.requireNativePlugin("UD-Yunhuiyan");
    console.log("uniapp ---- params " + JSON.stringify(params))
    engine.driveLicenseOCR(params, function(result) {
        uni.showModal({
                title: '有盾AndroidSDK回调',
                content: result,
                confirmText: '确定',
                showCancel: false
            });
    });
}

行驶证OCR Android

startUDSdk_VehicleOCR_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isSingleFront: false,
        isManualOCR: true
    };

    const engine = uni.requireNativePlugin("UD-Yunhuiyan");
    console.log("uniapp ---- params " + JSON.stringify(params))
    engine.vehicleLicenseOCR(params, function(result) {
        uni.showModal({
            title: '有盾AndroidSDK回调',
            content: result,
            confirmText: '确定',
            showCancel: false
        });
    });
}

银行卡OCR Android

startUDSdk_BankOCR_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isManualOCR: true
    };

    const engine = uni.requireNativePlugin("UD-Yunhuiyan");
    console.log("uniapp ---- params " + JSON.stringify(params))
    engine.bankCardOCR(params, function(result) {
        uni.showModal({
            title: '有盾AndroidSDK回调',
            content: result,
            confirmText: '确定',
            showCancel: false
        });
    });
}

活体比对调用方法:Android

// 活体比对-关联比对
startUDSdk_FacecompareWithpartnerOrderId_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        partnerOrderId: '关联订单号',
        notificationUrl: '商户异步通知地址',
        safeMode: 0
    };

    var jsonParam = JSON.parse(JSON.stringify(params));
    const engine = uni.requireNativePlugin('UD-Yunhuiyan');
    engine.faceCompare(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾Android人脸比对Base64回调',
            content: jsonResult,
            confirmText: '确定',
            showCancel: false
        });
    });
},
// 活体比对-Base64图片比对
startUDSdk_FaceCompareWithBase64String_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        imageBase64String: '标准格式base64图片字符串(可参考demo里面的转换方法)',
        notificationUrl: '商户异步通知地址',
        safeMode: 0
    };

    var jsonParam = JSON.parse(JSON.stringify(params));

    const engine = uni.requireNativePlugin('UD-Yunhuiyan');

    engine.faceCompare(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '有盾Android人脸比对Base64回调',
            content: jsonResult,
            confirmText: '确定',
            showCancel: false
        });
    });
},

隐私、权限及商业化声明

1. 本插件需要申请的手机端权限列表:

// Android 权限 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.BATTERY_STATS" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> // iOS 权限 Privacy - Camera Usage Description

2. 本插件采集的手机端数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问