概述与资源

极验3.0验证安全系统 Android SDK提供给集成Android原生客户端开发的开发者使用, SDK不依赖任何第三方库。

环境需求

条目
开发目标 Android 4.0+
开发环境 Android Studio 2.1.3
系统依赖
sdk三方依赖
demo依赖 ButterKnife

资源下载

条目
产品结构流程 通讯流程
SDK下载链接 gt3-android-sdk
SDK接口文档 gt3-android-sdk
DEMO下载 演示demo

安装

获取SDK

通过git命令获取

git clone https://github.com/GeeTeam/gt3-android-sdk.git

手动下载获取

使用从github下载.zip文件获取最新的sdk。

Github: gt3-android-sdk

导入SDK

如果你不是使用添加依赖, 将获取的.aar文件拖拽到工程中的libs文件夹下。

import

在拖入.aar到libs文件夹后, 还要检查.aar是否被添加到Library,要在项目的build.gradle下添加如下代码:

repositories {
flatDir {
dirs 'libs'
}
}

并且要手动将aar包添加依赖:

compile(name: 'aar文件夹的名字', ext: 'aar')

libraries

配置接口

Android sdk主要提供以下接口:

  1. 配置验证初始化
  2. 启动验证
  3. 获取验证结果
  4. 处理错误的代理

参考极验3.0验证安全系统的产品结构流程, 必须要先在您的后端搭建相应的服务端SDK,并配置从极验后台获取的idkey, 并且将配置的接口API1API2放入客户端的初始化方法中。

集成代码参考下方的代码示例

编译并运行你的工程

编译你的工程, 体验全新的极验3.0验证安全系统!

build

轻轻点击你集成的验证按钮, 如此自然, 如此传神。

视觉展示

  1. 与自定义的按钮绑定集成

    sample1

  2. 使用极验提供的按钮样式集成

    sample2

代码示例

通过与自定义按钮绑定的方式集成

  1. 添加权限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  2. 初始化验证码

    new GT3GeetestUrl().setCaptchaURL(captchaURL);
    new GT3GeetestUrl().setValidateURL(validateURL);
    gt3GeetestUtils = new GT3GeetestUtils(MainActivity.this);
    gt3GeetestUtils.gtDologo();
  3. 注册EventBus进行消息分发

    compile 'org.greenrobot:eventbus:3.0.0'
  4. 激活验证

    gt3GeetestUtils.getGeetest();
  5. 验证码加载过程中的回调

    gt3GeetestUtils.setGtListener(new GT3GeetestUtils.GT3Listener() {
    //点击验证码的关闭按钮来关闭验证码
    @Override
    public void gt3CloseDialog() {
    }
    //点击屏幕关闭验证码
    @Override
    public void gt3CancelDialog() {
    }
    //验证码加载失败
    @Override
    public void gt3DialogError() {
    }
    //验证码加载准备完成
    @Override
    public void gt3DialogReady() {
    }
    //拿到验证返回的结果,此时还未进行二次验证
    @Override
    public void gt3GetDialogResult(String result) {
    }
    //验证码验证成功
    @Override
    public void gt3DialogSuccess() {
    }
    //验证码验证失败
    @Override
    public void gt3DialogFail() {
    }
    //二次验证请求之后的结果
    @Override
    public void gt3DialogSuccessResult(String result) {
    }
    });

通过极验提供的按钮集成

  1. 添加权限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  2. 添加按钮控件并初始化

    <com.example.sdk.GT3GeetestButton
    android:id="@+id/ll_btn_type"
    android:layout_width="290dp"
    android:layout_height="44dp"
    android:layout_centerHorizontal="true"
    android:layout_centerInParent="true"
    android:gravity="center"
    android:orientation="horizontal" />
    GT3GeetestButton gtbt=(GT3GeetestButton)findViewById(R.id.ll_btn_type);
  3. 设置数据请求接口

    new GT3GeetestUrl().setCaptchaURL(captchaURL);
    new GT3GeetestUrl().setValidateURL(validateURL);
  4. 注册GT3EventBus

    compile 'org.greenrobot:eventbus:3.0.0'
  5. 验证码加载开始

    gt3GeetestUtils = GT3GeetestUtils.getInstance(MainActivity.this);
    gt3GeetestUtils.getGeetest();
  6. 验证码加载的接口

    gt3GeetestUtils.setGtListener(new GT3GeetestUtils.GT3Listener() {
    //拿到验证成功之后的结果
    @Override
    public void gt3GetDialogResult(String result) {
    // 处理验证结果
    }
    @Override
    public void gt3DialogSuccessResult(String result) {
    new Gt3GeetestTestMsg().setCandotouch(false);//这里设置验证成功后是否可以关闭
    Toast.makeText(getApplicationContext(), "这里是验证成功后执行的操作", Toast.LENGTH_SHORT).show();
    }
    });

示例代码细节参考官方提供的demo

详细演示demo