芝麻认证1.0.2_第1页
芝麻认证1.0.2_第2页
芝麻认证1.0.2_第3页
芝麻认证1.0.2_第4页
芝麻认证1.0.2_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MegviiCloudFace+芝麻认证 SDKZMCertificationv1.0.1变更和修订历史记录文档编号:版本号完成日期修改记录1.0.02016-12-23初稿1.0.12016-02-26增加用户每日调用次数达到上限的错误类型;增加FAQ目录芝麻认证 SDK1ZMCertification1v1.0.11目录21芝麻认证简介31.1芝麻认证SDK31.2芝麻认证逻辑32SDK接口32.1Android接口32.1.1类ZMCertification32.1.2ZMCertification.getInstance32.1.3ZMCertification.getVersion3

2、2.1.4ZMCertification.setZMCertificationListener42.1.5ZMCertification.startCertification42.1.6ZMCertification的ErrorCode42.1.7接口ZMCertificationListener52.1.8ZMCertificationListener.onFinish52.2iOS接口52.2.1类ZMCertification52.2.2ZMCertification.startCertification52.2.3ZMCertification.getVersion62.2.4ZMCe

3、rtification的回调函数62.2.5枚举ZMStatusErrorType73SDK集成93.1Android集成93.1.1Android Studio(aar)93.1.2Eclipse(Project Library)103.2iOS集成103.2.1将 ZMCert.framework 文件添加进入项目103.2.2引入所需的系统库113.2.3环境配置113.2.4引入 .bundle 资源文件113.2.5引入头文件113.2.6一份简单的示例代码114FAQ114.1SDK使用需要那些设备权限?114.2SDK 支持哪些手机,支持什么操作系统,对设备有什么要求?124.3

4、Android SDK一直不释放我的listener导致有内存泄露怎么办?124.4Android程序只需要使用armv7a的so库,不需要使用arm64的so库124.5Android程序有一些特殊的布局需求121 芝麻认证简介1.1 芝麻认证SDK芝麻认证SDK是由蚂蚁金服及Face+|旷视公司一同开发的,基于生物特征的身份验证SDK。芝麻认证SDK 对接方便,易于集成,使用简单,同时支持Android和iOS双平台,服务于大中小各类互联网企业。1.2 芝麻认证逻辑芝麻认证逻辑大致分为三步:1. 调用芝麻验证WebAPI,获取bizNO(业务串号) 以及 merchantID(商户号);2

5、. 使用bizNO 和merchantID 完成SDK初始化,进入认证页面;3. 用户通过认证流程后,返回商户界面,并通过回调告知结果。2 SDK接口2.1 Android接口2.1.1 类ZMCertificationZMCertification类是管理芝麻认证的类,此类不可以初始化,只能通过getInstance获得其单例。2.1.2 ZMCertification.getInstance函数名getInstanceZMCertification getInstance()名称获取ZMCertification的实例类型说明函数说明获取ZMCertification的单例。返回值ZMCe

6、rtification一个实例2.1.3 ZMCertification.getVersion函数名CreateApiHandleString getVersion()名称获取SDK的版本号类型说明函数说明无返回值String一个字符串,表示当前SDK的版本号。如:ZMCert 1.0.0A2.1.4 ZMCertification.setZMCertificationListener函数名setZMCertificationListenervoid setZMCertificationListener(ZMCertificationListener listener)名称注册回调监听者类型说

7、明函数说明监听者会在芝麻验证结束后被调用,如果没有设置,则不会调用。变量名说明类型listener监听者ZMCertificationListener2.1.5 ZMCertification.startCertification函数名startCertificationvoid startCertification(Activity activity, String bizNO, String merchantID, HashMap extParams)名称开始认证类型说明函数说明传入bizNO和merchantID开始芝麻验证。接口通过bizNO和 merchantID 初始化 SDK 接

8、口,完成验证流程后回跳回原来的 Activity。验证的结果会通过注册的 listener进行回调。变量名说明类型activity当前页面所在的ActivityActivitybizNO业务串号,通过芝麻认证WebAPI获得StringmerchantID商户号StringextParams额外的传入参数,目前传入null即可HashMap2.1.6 ZMCertification的ErrorCode名称说明数值none无0verification_failed用户人脸与数据库中的人脸比对分数较低1device_not_support手机在不支持列表里2no_permission缺少手机权限3

9、no_network_permission没有联网权限4no_camera_permission没有打开相机的权限5no_sensor_permission无法读取运动数据的权限6face_init_fail人脸采集算法初始化失败7network_error发生网络错误8invalid_biz_no传入的bizNO 有误9invalid_bundle_id此APP的bundle_id在系统的黑名单库里10data_source_error数据源错误11internal_error服务发生内部错误12unmatched_merchant_idbizNO和merchantID不匹配13versio

10、n_too_oldSDK版本过旧14userinfo_error身份证号和姓名的格式不正确15bizno_limit_exceed身份证号和姓名在一天内使用次数过多162.1.7 接口ZMCertificationListenerZMCertificationListener是一个回调接口,当完成芝麻认证逻辑后,会调用此接口。2.1.8 ZMCertificationListener.onFinish函数名onFinishvoid onFinish(boolean isCanceled, boolean isPassed, int errorCode)名称完成芝麻认证后回调类型说明函数说明无变

11、量名说明类型isCanceled是否取消了芝麻认证,如果是则isPassed和errorCode的返回值均无意义。booleanisPassed是否通过了芝麻认证,如果没有通过则返回errorCode表示失败的原因。booleanerrorCode没有通过芝麻认证的原因,具体参见文档中的ErrorCode说明int2.2 iOS接口2.2.1 类ZMCertificationZMCertification类是管理芝麻认证的类,此类使用默认的构造函数初始化即可。2.2.2 ZMCertification.startCertification函数名startCertification- (void

12、)startWithBizNO:(NSString *_nonnull)bizNO merchantID:(NSString *_nonnull)merchantID extParams:(NSDictionary *_nullable)params viewController:(UIViewController *_nonnull)vc onFinish:(void(_nullable)(BOOL isCanceled, BOOL isPassed, ZMStatusErrorType errorCode)callback;名称开始认证说明传入bizNO和merchantID开始芝麻验证。

13、接口通过bizNO和 merchantID 初始化 SDK 接口,完成验证流程后回跳回原来的页面。验证的结果会通过callback进行回调。变量名说明类型bizNO业务串号,通过芝麻认证WebAPI获得NSString*merchantID商户号NSString*extParams额外的传入参数,目前传入nil即可NSDictionary*vc开启芝麻认证的页面UIViewController*Finish回调函数函数2.2.3 ZMCertification.getVersion函数名getVersion+ (NSString *_nullable)getVersion;名称获取SDK的版本

14、号类型说明函数说明无返回值NSString*一个字符串,表示当前SDK的版本号。如:ZMCert 1.0.0I2.2.4 ZMCertification的回调函数函数名finishvoid(_nullable)(BOOL isCanceled, BOOL isPassed, ZMStatusErrorType errorCode)名称完成芝麻认证后回调类型说明函数说明无变量名说明类型isCanceled是否取消了芝麻认证,如果是则isPassed和errorCode的返回值均无意义。BOOLisPassed是否通过了芝麻认证,如果没有通过则返回errorCode表示失败的原因。BOOLerro

15、rCode没有通过芝麻认证的原因,具体参见文档中的ZMStatusErrorType说明ZMStatusErrorType输出变量名face_nr检测到的人脸个数,人脸以0face_nr-1编号。MG_INT32 *说明Detect函数是在做人脸计算时调用最频繁的函数,也是整个算法SDK提供的最核心的功能。在调用Detect函数时,算法已经完成了对Landmark的计算/跟踪。在骁龙800(Android)上,在720p的图像上,跟踪检测一张人脸的计算耗时为1315ms。在iPhone 6p(iOS)上,在720p的图像上,跟踪检测一张人脸的计算耗时为56ms。2.2.5 枚举ZMStatus

16、ErrorType类型名ZMStatusErrorType名称芝麻认证失败类型类型说明枚举类型说明枚举名说明值ZMStatusErrorNone无100ZMStatusErrorDeviceNotSupport手机在不支持列表里101ZMStatusErrorNoPermission缺少手机权限102ZMStatusErrorFaceInit人脸采集算法初始化失败103ZMStatusErrorNetwork网络连接错误104ZMStatusErrorBizNo传入的bizNO 有误105ZMStatusErrorBundleId此APP的bundle_id在系统的黑名单库里106ZMStat

17、usErrorDataSource数据源错误107ZMStatusErrorVerification用户人脸与数据库中的人脸比对分数较低108ZMStatusErrorInternal服务发生内部错误109ZMStatusErrorUnmatchedMerchantIdbizNO和merchantID不匹配110ZMStatusErrorNoNetPermission没有联网权限111ZMStatusErrorNoCameraPermission没有打开相机的权限112ZMStatusErrorNoSensorPermission无法读取运动数据的权限113ZMStatusErrorVersi

18、onTooOldSDK版本过旧115ZMStatusErrorUseInfo身份证号和姓名的格式不正确116ZMStatusErrorBiznoLimitExceed身份证号和姓名在一天内使用次数过多1173 SDK集成3.1 Android集成3.1.1 Android Studio(aar)l 把arr文件复制进入libs文件夹中(图1)图1l 在APP的gradle中加入(图2)repositories flatDirdirs libs并在dependencies 中加入compile(name:ZMCert_SDK, ext:aar)图2l 点击Rebuild Project即可3.1

19、.2 Eclipse(Project Library)l 打开Eclipse的Package Explorerl 鼠标右键选择new然后点击右侧的Project.。弹出对话框后打开Android文件夹然后双击Android Project from Existing Code选项会弹出新的对话框。再点击Browse按钮去选择刚刚下载好的demo,选择好后点击确定。这时会弹出新的对话框,里面会有两个工程被选择一个lib和一个project.再点击下面的finish按钮就回把两个工程导入Eclipse中。l 把两个工程导入eclipse后,鼠标放在lib工程上右键鼠标选择Properties点击打

20、开,弹出对话框后选择Android选项。然后把右边的进度条拉到最底部,点击选中IS Library选择框。然后点击Apply按钮最后点击ok按钮退出。l 再把鼠标移到project工程上右键鼠标选择Properties点击打开,弹出对话框后选择Android选项。然后把右边的进度条拉到最底部,点击add按钮这时会弹出对话框选择刚刚的lib点击OK按钮。然后点击Apply按钮最后点击ok按钮退出。l 集成完毕(可以clean一下你的工程)3.2 iOS集成3.2.1 将 ZMCert.framework 文件添加进入项目在 TARGETS-Build Phases- Link Binary Wi

21、th Libaries中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择 ZMCert.framework添加到工程中。注: 静态库中采用Objective-C+实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即在Xcode的Project - Edit Active Target - Build Setting 中找到 Compile Sources As,并将其设置为Objective-C+3.2.2 引入所需的系统库需要在您的Xcode工程中引入CoreMoton.framework和

22、WebKit.framework、AVFoundation.framework、CoreMedia.framework、CoreGraphics.framework。3.2.3 环境配置在TARGETS-Build Settings-Other Linker Flags 中添加-ObjC。3.2.4 引入 .bundle 资源文件选中工程名,在右键菜单中选择Add Files to “工程名”,从 ZMCert.framework 文件中选择 ZMCert.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中。3.2.5 引入头

23、文件#import 3.2.6 一份简单的示例代码ZMCertification *manager = ZMCertification alloc init;manager startWithBizNO:TextView.textmerchantID:self.merchantView.textextParams:nil viewController:selfonFinish:(BOOL isCanceled, BOOL isPassed, ZMStatusErrorType errorCode) if (isCanceled) NSLog(用户取消了认证); else if (isPassed) NSLog(认证成功); else NSLog(认证失败了 %zi,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论