更新记录

1.1.0(2020-02-14)

1.1.0 头文件中增加版本号!

1.0.1(2020-02-13)

优化接入接口

查看更多

原生插件通用使用流程:

  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 SDK v2.0 接入文档 (for iOS)

1. SDK集成

  • 下载 OCR SDK
  • 拖拽SDK文件到Xcode工程内(请勾选Copy items if needed选项) ,其中包括WBOCRService.bundleWBOCRService.frameworkinclude文件夹librecdetect.a 以及 opencv2.framework
├── WBOCRService.bundle
|
├── WBOCRService.framework
│   
├── include
│   └── recdetect.h
├── librecdetect.a
└── opencv2.framework
  • Build Setting --> Build Options --> Enable Bitcode 设置为NO.
  • 在Build Phases -> link with libraries 下加入如下依赖.
CoreTelephony.framework
AssetsLibrary.framework
CoreMedia.framework
AVFoundation.framework
WebKit.framework
libc++.tbd
CoreServices.framework
  • Build Setting --> Linking --> Other Linker Flag 设置 增加 -ObjC-lz linker flag
  • SDK中需要使用camera,需要在 Info.plist中为 NSCameraUsageDescription 添加描述信息

2. SDK调用

2.1 导入头文件

在工程的调用的类文件中导入头文件:

#import <WBOCRService/WBOCRService.h>

如果是Swift工程,请在对应 bridging-header.h 中导入。

2.2 实例化 SDK

WBOCRService 是一个单例类 ,通过如下方法来实例化这个类:

WBOCRService *service = [WBOCRService sharedService];

2.3 启动 SDK

实例化WBOCRService之后,调用start方法启动SDK,start方法的头文件声明如下:

- (void)startOCRServiceWithConfig:(nullable WBOCRConfig *)config
                        version:(nonnull NSString *)version
                          appId:(nonnull NSString *)appId
                          nonce:(nonnull NSString *)nonce
                         userId:(nonnull NSString *)userId
                           sign:(nonnull NSString*)sign
                        orderNo:(nonnull NSString *)orderNo
                    tartSucceed:(nonnull WBOCRServiceStartSucceedBlock)startSucceed
               recognizeSucceed:(nonnull WBOCRServiceRecognizeSuccessBlock)recognizeSucceed
                         failed:(nonnull WBOCRServiceFailedBlock)failed;

2.3.1 start方法参数说明

  • config 是一个配置参数,nullable,用来对SDK做一些配置,详情见下面的config参数说明
  • version 表示webank OpenAPI 的版本号,由腾讯服务分配,默认输入 1.0.0;
  • appId 腾讯服务分配的app_id;
  • nonce SDK鉴权用参数,一次性有效;
  • userId 表示每个用户唯一的标识,由腾讯服务分配;
  • sign SDK鉴权用参数,从接入方后台获取;
  • orderNo 订单号,这个参数用来查询识别结果用,接入方必须保证这个参数的唯一性,该参数长度不得超过32位;
  • startSucceed SDK启动成功回调,当用户鉴权通过的时候会走到这个回调;
  • recognizeSucceed SDK识别成功回调,可以通过这个回调来获取识别结果信息;
  • failed SDK发生异常,退出时候的回调,可以通过这个回调获取失败信息。

2.3.2 config参数说明(“身份证识别/银行卡识别”的配置参数在这里)

config 是个 WBOCRConfig 实例,通过 WBOCRConfig *config = [WBOCRConfig sharedConfig] 来实例化,这里面有几个参数需要着重讲一下:

  • SDKType 这个参数决定本次使用的是哪种类型的OCR服务,SDK目前提供身份证人像面识别身份证国徽面识别身份证两面识别银行卡识别四种类型的服务,比如可以通过 config.SDKType = WBOCRSDKTypeIDCardFrontSide;来选择使用身份证人像面识别服务。

  • needBothSidesRecognized,只有当上面的SDKType参数选择的是 WBOCRSDKTypeIDCardNormal 的时候, needBothSidesRecognized 参数才起作用,它的功能是控制 SDK识别完成的逻辑。当 needBothSidesRecognized 参数为YES的时候,用户需要全部完成人像面和国徽面识别后,才能点击“成功退出SDK”;当 needBothSidesRecognized 参数为 NO 的时候,用户仅需要完成人像面识别,就可以“成功退出SDK”。这里“成功退出SDK”的含义,是指SDK 通过recognizeSucceed回调退出。

  • config里面还有很多readonly参数,这些参数和本次识别相关,开发者可以按需在这些接口获取。

2.4 处理 SDK 的回调信息

开发者通过start方法的startSucceed、recognizeSucceed 和 failed 三个 block 来接收SDK回调信息。

2.4.1 startSucceed(成功进入SDK回调)

进入这个回调,说明当前用户已经通过SDK鉴权,应用成功进入SDK界面了。

2.4.2 recognizeSucceed(识别成功,即将退出SDK回调)

进入这个回调,说明SDK已经识别成功,即将退出,回到APP中的界面,这里面有两个参数 resultModel 和 extension。

  • resultModel 是对识别结果的封装,如果当前识别的是身份证,就会返回一个WBIDCardInfoModel类型的实例;如果当前识别的是银行卡,返回的是一个WBBankCardInfoModel类型的实例。关于每个字段的详细含义,请参考WBOCRService.h头文件
  • extension 是一个扩展字段,备用,目前版本为空,不需要处理!

2.4.3 failed(SDK异常,即将退出SDK回调)

进入这个回调,说明SDK发生异常,SDK即将退出,可以通过这个回调获取失败信息,这里面有两个参数 error 和 extension。

  • error 是一个NSError类型的实例,里面会封装错误码和错误描述,下面代码展示了一条错误码为200101的error信息,具体的错误码对照表,请参考《金融级远程身份认证开放平台接入指南》对应错误码章节。
NSError *error = [NSError errorWithDomain:@"com.webank.ocr.error" code:200101 userInfo:@{NSLocalizedDescriptionKey:@"用户取消操作"}];
  • extension 是一个扩展字段,备用,目前版本为空,不需要处理!

3. 其它

更多关于接入方面的问题请参考《金融级远程身份验证开放平台接入指南》文档和iOS 接入 demo。

隐私、权限及商业化声明

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

"NSPhotoLibraryUsageDescription", "NSPhotoLibraryAddUsageDescription", "NSCameraUsageDescription"

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

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

暂无用户评论。

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