教你如何快速集成CIA易验证SDK(Android版)
的有关信息介绍如下:CIA易验证(原CIA身份验证)是北京科能腾达通信技术有限公司为广大移动开发者提供的一种身份验证工具,开发者可以使用此工具实现用户注册时的验证、找回密码等功能。CIA易验证通过信令交互技术完成验证,验证效率更高,可以替代短信验证码,该工具得到了广大开发者的认同,本文将教你如何快速集成CIA易验证SDK。
SDK功能说明
1)架构设计
2)主要功能
本SDK主要提供以下功能接口
1、 初始化服务:初始化SDK,以便后续的验证操作。
2、 请求验证:发起一个验证手机号的请求。这里会有两种情况:
i) 本机手机号:用户输入的手机号码是本机号码,这种情况无需用户操作,SDK会自动完成验证;
ii) 非本机手机号:用户输入的手机号码不是本机号码,这时候会进入“输入验证码模式”,该手机号码所在的手机收到一个呼入电话,需要用户输入该呼入电话的后4位号码作为验证码。
3、 获取验证码:针对“请求验证”中的第2种情况——即需要手动输入验证码的情况。为了更好的提示用户,可以调用SDK的获取验证码(呼入的电话号码)来提示用户哪个号码将会呼入。
4、 校验验证码:校验用户输入的验证码是否正确。
开发前准备
1)运行环境
可运行于Android 2.1(API Level 7)及以上版本。
2)账户申请及权限开通
1、获取方式
开打CIA易验证官网注册账户,并登录到开发者后台。
2、获取appId 和 authKey
进入开发者后台。
使用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中进行初始化调用。
7、 AndroidManifest.xml中声明必须的权限,复制如下代码
(图一)
8、 AndroidManifest.xml中可选的权限,SDK会自动挂断来电,用户无感知。
(图二)
9、 AndroidManifest.xml中注册必须的Service
(图三)
10、 混淆配置需要添加(没有使用混淆忽略此步)
(图四)
调用API
1、开始请求验证
a) CIAService. startVerification(String phoneNumber, VerificationListener listener);
2、等待Listener回调,参考监听器。
3、如果进入验证码模式,需要校验用户输入的验证码。
a) CIAService. verifySecurityCode(String code, VerificationListener listener);
4、如果用户中途关闭了页面,需要取消当前验证
a) CIAService.cancelVerification();
API说明
类
API
目前SDK提供以下接口
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. 返回真实的四位验证码。
注:该方法只在验证成功之后有返回值。
监听器
VerificationListener接口提供了以下回调方法
(图一)
1、onStateChange (int status, String msg, String transId);
a) status:状态码(参考验证状态码)
b) msg:文字描述
c) transId:本次验证的业务流水号,可用于后台查询验证状态
验证状态码
(图一)
CIAService类中定义了一些静态常量表示验证状态码
startVerification开始验证方法回调
(图二)
注:验证失败(101):比如手机号码格式错误,手机信号不好等。
请求错误(131):比如没有网络连接等,一般需要开发者提前判断。
verifySecurityCode校验验证码方法回调
注: 请求异常(111):比如没有网络连接等,一般需要开发者提前判断。
后台查询接口
(图一)
返回结果
(图二)
{"transId":"业务流水号","status":"验证状态"}