教你如何快速集成CIA易驗證SDK(Android版)?

CIA易驗證(原CIA身份驗證)是北京科能騰達通信技術有限公司為廣大移動開發者提供的一種身份驗證工具,開發者可以使用此工具實現用戶註冊時的驗證、找回密碼等功能。CIA易驗證通過信令交互技術完成驗證,驗證效率更高,可以替代短信驗證碼,該工具得到了廣大開發者的認同,本文將教你如何快速集成CIA易驗證SDK。

工具/原料

一臺裝有Android開發環境的電腦

下載最新版CIA-SDK-Android工具包

下載最新CIA易驗證SDK集成指南(Android)

方法/步驟

SDK功能說明

1)架構設計

教你如何快速集成CIA易驗證SDK(Android版)

2)主要功能

本SDK主要提供以下功能接口

1、 初始化服務:初始化SDK,以便後續的驗證操作。

2、 請求驗證:發起一個驗證手機號的請求。這裡會有兩種情況:

i) 本機手機號:用戶輸入的手機號碼是本機號碼,這種情況無需用戶操作,SDK會自動完成驗證;

ii) 非本機手機號:用戶輸入的手機號碼不是本機號碼,這時候會進入“輸入驗證碼模式”,該手機號碼所在的手機收到一個呼入電話,需要用戶輸入該呼入電話的後4位號碼作為驗證碼。

3、 獲取驗證碼:針對“請求驗證”中的第2種情況——即需要手動輸入驗證碼的情況。為了更好的提示用戶,可以調用SDK的獲取驗證碼(呼入的電話號碼)來提示用戶哪個號碼將會呼入。

4、 校驗驗證碼:校驗用戶輸入的驗證碼是否正確。

教你如何快速集成CIA易驗證SDK(Android版)

開發前準備

1)運行環境

可運行於Android 2.1(API Level 7)及以上版本。

2)賬戶申請及權限開通

1、獲取方式

開打CIA易驗證官網註冊賬戶,並登錄到開發者後臺。

教你如何快速集成CIA易驗證SDK(Android版)

2、獲取appId 和 authKey

進入開發者後臺。

教你如何快速集成CIA易驗證SDK(Android版)

教你如何快速集成CIA易驗證SDK(Android版)

使用SDK開發應用

添加SDK到APP工程

1、 創建一個Android Project

2、 在該工程下創建一個libs文件夾

3、 將cia-sdk-VERSION.jar拷貝到剛剛創建的libs文件夾中。

4、 將上述jar包添加到工程的Java Build Path。

5、 將so目錄下的相關so文件添加到工程中。

a) 提示:so提供了armeabi、armeabi-v7a、mips、x86版本,請根據需要添加,如果使用了其他so庫,請保證所有文件夾下都有相同的so文件。

6、 在自定義Application中進行初始化調用。

教你如何快速集成CIA易驗證SDK(Android版)

7、 AndroidManifest.xml中聲明必須的權限,複製如下代碼

(圖一)

8、 AndroidManifest.xml中可選的權限,SDK會自動掛斷來電,用戶無感知。

(圖二)

9、 AndroidManifest.xml中註冊必須的Service

(圖三)

10、 混淆配置需要添加(沒有使用混淆忽略此步)

(圖四)

教你如何快速集成CIA易驗證SDK(Android版)

教你如何快速集成CIA易驗證SDK(Android版)

教你如何快速集成CIA易驗證SDK(Android版)

教你如何快速集成CIA易驗證SDK(Android版)

調用API

1、開始請求驗證

a) CIAService. startVerification(String phoneNumber, VerificationListener listener);

2、等待Listener回調,參考監聽器。

3、如果進入驗證碼模式,需要校驗用戶輸入的驗證碼。

a) CIAService. verifySecurityCode(String code, VerificationListener listener);

4、如果用戶中途關閉了頁面,需要取消當前驗證

a) CIAService.cancelVerification();

API說明

教你如何快速集成CIA易驗證SDK(Android版)

API

目前SDK提供以下接口

教你如何快速集成CIA易驗證SDK(Android版)

1、初始化SDK

a) init(Context context, String appId, String authKey);

i. context:上下文環境

ii. appId:開發者後臺註冊的appId

iii. authKey:開發者後臺生成的authKey

2、開始驗證

a)startVerification(String phoneNumber, VerificationListener listener)

i. phoneNumber:需要驗證的手機號碼

ii. listener:驗證狀態監聽器,查看狀態碼

3、獲取驗證碼

a) getSecurityCode ();

i. 返回值為呼入的電話號碼(其中後四位為****形式),返回值的一個可能示例為:05311122****,該返回值用於向用戶顯示“提示語”。該方法在驗證碼模式下調用。

顯示給用戶的提示語,需要開發者自行編寫,可參見下圖中的一個實例描述:

(圖一)

4、校驗驗證碼

a) verifySecurityCode (String code, VerificationListener listener);

i. code:用戶輸入的驗證碼

ii. listener:驗證碼校驗結果監聽器,查看狀態碼

5、取消驗證

a) cancelVerification();

i. 用戶中途關閉了頁面,需要取消當前的驗證請求,調用該方法的時候不需要判斷是否有請求存在,該方法內部只在有驗證請求的情況下取消驗證。

6、驗證成功後,獲取真實的四位驗證碼

a) getRealSecurityCode ();

i. 返回真實的四位驗證碼。

注:該方法只在驗證成功之後有返回值。

教你如何快速集成CIA易驗證SDK(Android版)

監聽器

VerificationListener接口提供了以下回調方法

(圖一)

1、onStateChange (int status, String msg, String transId);

a) status:狀態碼(參考驗證狀態碼)

b) msg:文字描述

c) transId:本次驗證的業務流水號,可用於後臺查詢驗證狀態

教你如何快速集成CIA易驗證SDK(Android版)

驗證狀態碼

(圖一)

CIAService類中定義了一些靜態常量表示驗證狀態碼

startVerification開始驗證方法回調

(圖二)

注:驗證失敗(101):比如手機號碼格式錯誤,手機信號不好等。

請求錯誤(131):比如沒有網絡連接等,一般需要開發者提前判斷。

verifySecurityCode校驗驗證碼方法回調

注: 請求異常(111):比如沒有網絡連接等,一般需要開發者提前判斷。

教你如何快速集成CIA易驗證SDK(Android版)

教你如何快速集成CIA易驗證SDK(Android版)

後臺查詢接口

(圖一)

返回結果

(圖二)

{"transId":"業務流水號","status":"驗證狀態"}

教你如何快速集成CIA易驗證SDK(Android版)

教你如何快速集成CIA易驗證SDK(Android版)

相關問題答案