芝麻認(rèn)證1.0.2_第1頁
芝麻認(rèn)證1.0.2_第2頁
芝麻認(rèn)證1.0.2_第3頁
芝麻認(rèn)證1.0.2_第4頁
芝麻認(rèn)證1.0.2_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、MegviiCloudFace+芝麻認(rèn)證 SDKZMCertificationv1.0.1變更和修訂歷史記錄文檔編號(hào):版本號(hào)完成日期修改記錄1.0.02016-12-23初稿1.0.12016-02-26增加用戶每日調(diào)用次數(shù)達(dá)到上限的錯(cuò)誤類型;增加FAQ目錄芝麻認(rèn)證 SDK1ZMCertification1v1.0.11目錄21芝麻認(rèn)證簡介31.1芝麻認(rèn)證SDK31.2芝麻認(rèn)證邏輯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的回調(diào)函數(shù)62.2.5枚舉ZMStatusErrorType73SDK集成93.1Android集成93.1.1Android Studio(aar)93.1.2Eclipse(Project Library)103.2iOS集成103.2.1將 ZMCert.framework 文件添加進(jìn)入項(xiàng)目103.2.2引入所需的系統(tǒng)庫113.2.3環(huán)境配置113.2.4引入 .bundle 資源文件113.2.5引入頭文件113.2.6一份簡單的示例代碼114FAQ114.1SDK使用需要那些設(shè)備權(quán)限?114.2SDK 支持哪些手機(jī),支持什么操作系統(tǒng),對(duì)設(shè)備有什么要求?124.3

4、Android SDK一直不釋放我的listener導(dǎo)致有內(nèi)存泄露怎么辦?124.4Android程序只需要使用armv7a的so庫,不需要使用arm64的so庫124.5Android程序有一些特殊的布局需求121 芝麻認(rèn)證簡介1.1 芝麻認(rèn)證SDK芝麻認(rèn)證SDK是由螞蟻金服及Face+|曠視公司一同開發(fā)的,基于生物特征的身份驗(yàn)證SDK。芝麻認(rèn)證SDK 對(duì)接方便,易于集成,使用簡單,同時(shí)支持Android和iOS雙平臺(tái),服務(wù)于大中小各類互聯(lián)網(wǎng)企業(yè)。1.2 芝麻認(rèn)證邏輯芝麻認(rèn)證邏輯大致分為三步:1. 調(diào)用芝麻驗(yàn)證WebAPI,獲取bizNO(業(yè)務(wù)串號(hào)) 以及 merchantID(商戶號(hào));2

5、. 使用bizNO 和merchantID 完成SDK初始化,進(jìn)入認(rèn)證頁面;3. 用戶通過認(rèn)證流程后,返回商戶界面,并通過回調(diào)告知結(jié)果。2 SDK接口2.1 Android接口2.1.1 類ZMCertificationZMCertification類是管理芝麻認(rèn)證的類,此類不可以初始化,只能通過getInstance獲得其單例。2.1.2 ZMCertification.getInstance函數(shù)名getInstanceZMCertification getInstance()名稱獲取ZMCertification的實(shí)例類型說明函數(shù)說明獲取ZMCertification的單例。返回值ZMCe

6、rtification一個(gè)實(shí)例2.1.3 ZMCertification.getVersion函數(shù)名CreateApiHandleString getVersion()名稱獲取SDK的版本號(hào)類型說明函數(shù)說明無返回值String一個(gè)字符串,表示當(dāng)前SDK的版本號(hào)。如:ZMCert 1.0.0A2.1.4 ZMCertification.setZMCertificationListener函數(shù)名setZMCertificationListenervoid setZMCertificationListener(ZMCertificationListener listener)名稱注冊(cè)回調(diào)監(jiān)聽者類型說

7、明函數(shù)說明監(jiān)聽者會(huì)在芝麻驗(yàn)證結(jié)束后被調(diào)用,如果沒有設(shè)置,則不會(huì)調(diào)用。變量名說明類型listener監(jiān)聽者ZMCertificationListener2.1.5 ZMCertification.startCertification函數(shù)名startCertificationvoid startCertification(Activity activity, String bizNO, String merchantID, HashMap extParams)名稱開始認(rèn)證類型說明函數(shù)說明傳入bizNO和merchantID開始芝麻驗(yàn)證。接口通過bizNO和 merchantID 初始化 SDK 接

8、口,完成驗(yàn)證流程后回跳回原來的 Activity。驗(yàn)證的結(jié)果會(huì)通過注冊(cè)的 listener進(jìn)行回調(diào)。變量名說明類型activity當(dāng)前頁面所在的ActivityActivitybizNO業(yè)務(wù)串號(hào),通過芝麻認(rèn)證WebAPI獲得StringmerchantID商戶號(hào)StringextParams額外的傳入?yún)?shù),目前傳入null即可HashMap2.1.6 ZMCertification的ErrorCode名稱說明數(shù)值none無0verification_failed用戶人臉與數(shù)據(jù)庫中的人臉比對(duì)分?jǐn)?shù)較低1device_not_support手機(jī)在不支持列表里2no_permission缺少手機(jī)權(quán)限3

9、no_network_permission沒有聯(lián)網(wǎng)權(quán)限4no_camera_permission沒有打開相機(jī)的權(quán)限5no_sensor_permission無法讀取運(yùn)動(dòng)數(shù)據(jù)的權(quán)限6face_init_fail人臉采集算法初始化失敗7network_error發(fā)生網(wǎng)絡(luò)錯(cuò)誤8invalid_biz_no傳入的bizNO 有誤9invalid_bundle_id此APP的bundle_id在系統(tǒng)的黑名單庫里10data_source_error數(shù)據(jù)源錯(cuò)誤11internal_error服務(wù)發(fā)生內(nèi)部錯(cuò)誤12unmatched_merchant_idbizNO和merchantID不匹配13versio

10、n_too_oldSDK版本過舊14userinfo_error身份證號(hào)和姓名的格式不正確15bizno_limit_exceed身份證號(hào)和姓名在一天內(nèi)使用次數(shù)過多162.1.7 接口ZMCertificationListenerZMCertificationListener是一個(gè)回調(diào)接口,當(dāng)完成芝麻認(rèn)證邏輯后,會(huì)調(diào)用此接口。2.1.8 ZMCertificationListener.onFinish函數(shù)名onFinishvoid onFinish(boolean isCanceled, boolean isPassed, int errorCode)名稱完成芝麻認(rèn)證后回調(diào)類型說明函數(shù)說明無變

11、量名說明類型isCanceled是否取消了芝麻認(rèn)證,如果是則isPassed和errorCode的返回值均無意義。booleanisPassed是否通過了芝麻認(rèn)證,如果沒有通過則返回errorCode表示失敗的原因。booleanerrorCode沒有通過芝麻認(rèn)證的原因,具體參見文檔中的ErrorCode說明int2.2 iOS接口2.2.1 類ZMCertificationZMCertification類是管理芝麻認(rèn)證的類,此類使用默認(rèn)的構(gòu)造函數(shù)初始化即可。2.2.2 ZMCertification.startCertification函數(shù)名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;名稱開始認(rèn)證說明傳入bizNO和merchantID開始芝麻驗(yàn)證。

13、接口通過bizNO和 merchantID 初始化 SDK 接口,完成驗(yàn)證流程后回跳回原來的頁面。驗(yàn)證的結(jié)果會(huì)通過callback進(jìn)行回調(diào)。變量名說明類型bizNO業(yè)務(wù)串號(hào),通過芝麻認(rèn)證WebAPI獲得NSString*merchantID商戶號(hào)NSString*extParams額外的傳入?yún)?shù),目前傳入nil即可NSDictionary*vc開啟芝麻認(rèn)證的頁面UIViewController*Finish回調(diào)函數(shù)函數(shù)2.2.3 ZMCertification.getVersion函數(shù)名getVersion+ (NSString *_nullable)getVersion;名稱獲取SDK的版本

14、號(hào)類型說明函數(shù)說明無返回值NSString*一個(gè)字符串,表示當(dāng)前SDK的版本號(hào)。如:ZMCert 1.0.0I2.2.4 ZMCertification的回調(diào)函數(shù)函數(shù)名finishvoid(_nullable)(BOOL isCanceled, BOOL isPassed, ZMStatusErrorType errorCode)名稱完成芝麻認(rèn)證后回調(diào)類型說明函數(shù)說明無變量名說明類型isCanceled是否取消了芝麻認(rèn)證,如果是則isPassed和errorCode的返回值均無意義。BOOLisPassed是否通過了芝麻認(rèn)證,如果沒有通過則返回errorCode表示失敗的原因。BOOLerro

15、rCode沒有通過芝麻認(rèn)證的原因,具體參見文檔中的ZMStatusErrorType說明ZMStatusErrorType輸出變量名face_nr檢測(cè)到的人臉個(gè)數(shù),人臉以0face_nr-1編號(hào)。MG_INT32 *說明Detect函數(shù)是在做人臉計(jì)算時(shí)調(diào)用最頻繁的函數(shù),也是整個(gè)算法SDK提供的最核心的功能。在調(diào)用Detect函數(shù)時(shí),算法已經(jīng)完成了對(duì)Landmark的計(jì)算/跟蹤。在驍龍800(Android)上,在720p的圖像上,跟蹤檢測(cè)一張人臉的計(jì)算耗時(shí)為1315ms。在iPhone 6p(iOS)上,在720p的圖像上,跟蹤檢測(cè)一張人臉的計(jì)算耗時(shí)為56ms。2.2.5 枚舉ZMStatus

16、ErrorType類型名ZMStatusErrorType名稱芝麻認(rèn)證失敗類型類型說明枚舉類型說明枚舉名說明值ZMStatusErrorNone無100ZMStatusErrorDeviceNotSupport手機(jī)在不支持列表里101ZMStatusErrorNoPermission缺少手機(jī)權(quán)限102ZMStatusErrorFaceInit人臉采集算法初始化失敗103ZMStatusErrorNetwork網(wǎng)絡(luò)連接錯(cuò)誤104ZMStatusErrorBizNo傳入的bizNO 有誤105ZMStatusErrorBundleId此APP的bundle_id在系統(tǒng)的黑名單庫里106ZMStat

17、usErrorDataSource數(shù)據(jù)源錯(cuò)誤107ZMStatusErrorVerification用戶人臉與數(shù)據(jù)庫中的人臉比對(duì)分?jǐn)?shù)較低108ZMStatusErrorInternal服務(wù)發(fā)生內(nèi)部錯(cuò)誤109ZMStatusErrorUnmatchedMerchantIdbizNO和merchantID不匹配110ZMStatusErrorNoNetPermission沒有聯(lián)網(wǎng)權(quán)限111ZMStatusErrorNoCameraPermission沒有打開相機(jī)的權(quán)限112ZMStatusErrorNoSensorPermission無法讀取運(yùn)動(dòng)數(shù)據(jù)的權(quán)限113ZMStatusErrorVersi

18、onTooOldSDK版本過舊115ZMStatusErrorUseInfo身份證號(hào)和姓名的格式不正確116ZMStatusErrorBiznoLimitExceed身份證號(hào)和姓名在一天內(nèi)使用次數(shù)過多1173 SDK集成3.1 Android集成3.1.1 Android Studio(aar)l 把a(bǔ)rr文件復(fù)制進(jìn)入libs文件夾中(圖1)圖1l 在APP的gradle中加入(圖2)repositories flatDirdirs libs并在dependencies 中加入compile(name:ZMCert_SDK, ext:aar)圖2l 點(diǎn)擊Rebuild Project即可3.1

19、.2 Eclipse(Project Library)l 打開Eclipse的Package Explorerl 鼠標(biāo)右鍵選擇new然后點(diǎn)擊右側(cè)的Project.。彈出對(duì)話框后打開Android文件夾然后雙擊Android Project from Existing Code選項(xiàng)會(huì)彈出新的對(duì)話框。再點(diǎn)擊Browse按鈕去選擇剛剛下載好的demo,選擇好后點(diǎn)擊確定。這時(shí)會(huì)彈出新的對(duì)話框,里面會(huì)有兩個(gè)工程被選擇一個(gè)lib和一個(gè)project.再點(diǎn)擊下面的finish按鈕就回把兩個(gè)工程導(dǎo)入Eclipse中。l 把兩個(gè)工程導(dǎo)入eclipse后,鼠標(biāo)放在lib工程上右鍵鼠標(biāo)選擇Properties點(diǎn)擊打

20、開,彈出對(duì)話框后選擇Android選項(xiàng)。然后把右邊的進(jìn)度條拉到最底部,點(diǎn)擊選中IS Library選擇框。然后點(diǎn)擊Apply按鈕最后點(diǎn)擊ok按鈕退出。l 再把鼠標(biāo)移到project工程上右鍵鼠標(biāo)選擇Properties點(diǎn)擊打開,彈出對(duì)話框后選擇Android選項(xiàng)。然后把右邊的進(jìn)度條拉到最底部,點(diǎn)擊add按鈕這時(shí)會(huì)彈出對(duì)話框選擇剛剛的lib點(diǎn)擊OK按鈕。然后點(diǎn)擊Apply按鈕最后點(diǎn)擊ok按鈕退出。l 集成完畢(可以clean一下你的工程)3.2 iOS集成3.2.1 將 ZMCert.framework 文件添加進(jìn)入項(xiàng)目在 TARGETS-Build Phases- Link Binary Wi

21、th Libaries中點(diǎn)擊“+”按鈕,在彈出的窗口中點(diǎn)擊“Add Other”按鈕,選擇 ZMCert.framework添加到工程中。注: 靜態(tài)庫中采用Objective-C+實(shí)現(xiàn),因此需要您保證您工程中至少有一個(gè).mm后綴的源文件(您可以將任意一個(gè).m后綴的文件改名為.mm),或者在工程屬性中指定編譯方式,即在Xcode的Project - Edit Active Target - Build Setting 中找到 Compile Sources As,并將其設(shè)置為Objective-C+3.2.2 引入所需的系統(tǒng)庫需要在您的Xcode工程中引入CoreMoton.framework和

22、WebKit.framework、AVFoundation.framework、CoreMedia.framework、CoreGraphics.framework。3.2.3 環(huán)境配置在TARGETS-Build Settings-Other Linker Flags 中添加-ObjC。3.2.4 引入 .bundle 資源文件選中工程名,在右鍵菜單中選擇Add Files to “工程名”,從 ZMCert.framework 文件中選擇 ZMCert.bundle文件,并勾選“Copy items if needed”復(fù)選框,單擊“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(用戶取消了認(rèn)證); else if (isPassed) NSLog(認(rèn)證成功); else NSLog(認(rèn)證失敗了 %zi,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論