更新记录

2.0.5(2020-08-20)

1.WKWebVIew更新。2.服务器地址更新。3.其他细节优化

2.0.4(2019-09-27)

新增简版流程

2.0.2(2019-09-22)

修复bug

查看更多

平台兼容性

Android Android CPU类型 iOS
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试

原生插件通用使用流程:

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

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


连连银加云慧眼人脸识别、文字识别OCR、活体比对

产品介绍

人脸识别全流程:

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

文字识别OCR:

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

活体比对:

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

原生插件通用使用流程

1.购买插件并绑定的项目。

2. HBuilderX中配置manifest的app原生插件选项并勾选模块,如需参数说明请登录连连银加商 户站(https://new-my.udcredit.com)查看对接文档,我们的插件是提供给连连银加签约商户使用的,开发者在使用连连银加云慧眼,请发送邮件到service@lianlianpay.com银加邮箱,标注云慧眼产品,并提供姓名、手机号、公司名称。 合作电话:4000188888。

3. 调用iOS、Android对应方法。

4.打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,根据连连银加SDK回调配合业务需求进行修改。

5.开发完毕后正式云打包

调用方法示例: iOS

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

    // 1.云慧眼全流程
    startUDSdk_iOS() {              
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        notificationUrl: '商户异步通知地址',
        showInfo: true,
        isManualOCR: true,
        isOpenVibrate: false,
        isOpenLocalAlbum: false,
        isOpenFlashlight: true,
        canEditIDNumber: true,
        isOpenLivenessVoice: false,
        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
        });
    });
}

    // 2.身份证OCR
    startUDSdk_IDCardOcr_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: '商户authkey',
        outOrderId: orderId,
        isManualOCR: true,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
        });
    });
},

// 3.驾驶证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,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
        });
    });
},

// 4.行驶证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,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
        });
    });
},
// 5.银行卡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,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
        });
    });
},
// 6.活体比对调用方法:iOS
// 活体比对-关联比对
startUDSdk_FacecompareWithpartnerOrderId_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        partnerOrderId: '关联订单号',
        notificationUrl: '商户异步通知地址',
        safeMode: global.SafeMode.NORMAL,
        isOpenVibrate: true,
        isOpenLivenessVoice: false
    };

    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,
        isOpenVibrate: true,
        isOpenLivenessVoice: false
    };

    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
        });
    });
},

// 7.简版认证调用方法:iOS
startUDSdk_SimpleAuth_iOS() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isOpenVibrate: false,
        isOpenLivenessVoice: false
    };
    var jsonParam = JSON.parse(JSON.stringify(params));

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

    engine.dc_StartSimpleFaceAuth(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '连连银加iOS简版回调',
            content: params,
            confirmText: '确定',
            showCancel: false
        });
    });
},

人脸识别全流程Android

调用步骤

    // 1.云慧眼全流程
    startUDSdk_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date());

    var params = {
            authKey: '商户authkey',
            outOrderId: orderId,
            notificationUrl: '商户异步通知地址',
            showInfo: true,
            isManualOCR: true,
            isOpenVibrate: false,
            isOpenLocalAlbum: false,
            isOpenFlashlight: true,
            canEditIDNumber: true,
            isOpenLivenessVoice: false,
            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
            });
        });
}

    // 2.身份证OCR Android
    startUDSdk_IdCardOCR_Android() {
    var orderId = 'android_ud_' + Date.parse(new Date()); // 商户订单号     
    var params = {
            authKey: '商户authkey',
            outOrderId: orderId,
            isManualOCR: true,
            isOpenVibrate: true,
            isOpenLocalAlbum: false,
            isOpenFlashlight: 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
            });
        });
}

// 3.驾驶证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,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
            });
    });
}

// 4.行驶证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,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
        });
    });
}

// 5.银行卡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,
        isOpenVibrate: true,
        isOpenLocalAlbum: false,
        isOpenFlashlight: 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
        });
    });
}

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

    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,
        isOpenVibrate: true,
        isOpenLivenessVoice: false
    };

    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
        });
    });
},

// 7.简版认证调用方法:Android
startUDSdk_SimpleAuth_Android() {
    var orderId = 'ios_ud_' + Date.parse(new Date()); // 商户订单号
    var params = {
        authKey: 商户authkey,
        outOrderId: orderId,
        signTime: '签名时间',
        sign: '签名(签名规则请参考demo或者对接文档)',
        notificationUrl: '商户异步通知地址',
        isOpenVibrate: false,
        isOpenLivenessVoice: false
    };
    var jsonParam = JSON.parse(JSON.stringify(params));

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

    engine.faceAuthSimple(jsonParam, function(result) {
        var jsonResult = JSON.stringify(result);
        uni.showModal({
            title: '连连银加Android简版回调',
            content: params,
            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. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

本sdk人脸识别为本地算法,其它见 https://idsafe-static.yinplus.com.cn/id/idsafeSafeAgreement.html?date=隐私权政策 。此协议在sdk中也有展示,用户必须通过才能进行下一步操作。

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

许可协议

作者未提供license.md

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