动画验证码接入

动画验证码接入

前言

进行动画验证码接入前请先完成SDK的接入与初始化

功能说明

动画验证码主要用于区分人类与机器

现提供两种模式,请业务方根据自身业务场景进行选择

  • 智能无感模式

    此模式会自动判断设备的风险等级,可信设备无感验证通过,怀疑设备弹出动画验证码进行校验。

  • 动画验证模式

    此模式每次调用均弹出动画验证码进行校验。

整体流程

  • 动画验证模式

  • 智能无感模式

接口列表

API 类名: com.getui.gysdk.GYManager

方法 功能说明
nonSenseVerify 智能无感校验接口
picVerify 动画验证码校验接口

接口说明

1、智能无感接口

/**
 * 智能无感验证.
 *
 * @param phoneMd5          手机号md5值,32位小写.
 * @param accountId         应用账户id.
 * @param businessId        应用业务id.
 * @param activity          当前activity对象.
 * @param showLoadingDialog 是否显示加载框
 * @param callBack          回调
 */
public void nonSenseVerify(String phoneMd5, String accountId, String businessId, Activity activity,boolean showLoadingDialog, PicCallBack callBack)

输入参数

参数名称 是否必填 类型 描述
phoneMd5 String 手机号md5值,32位小写
accountId String 用户账号ID,可加密,保证每个用户唯一即可
businessId String 业务场景ID,用于标识不同的场景,例如登录、注册、找回密码等,可联系技术支持添加
activity Activity 当前Activity对象
showLoadingDialog boolean 是否需要SDK弹出一个加载框
callBack PicCallBack 回调

调用示例

GYManager.getInstance().nonSenseVerify(StringUtils.getMD5Str("phonenumber"), accountId, businessId, MainActivity.this, true,
                new PicCallBack() {
                    //智能无感验证没有通过,动画验证码准备完成,即将展示.
                    @Override
                    public void onPicReady(GYResponse response) {
                        Log.d(TAG, "nonsense pic is ready:" + response);
                    }

                    //验证通过
                    @Override
                    public void onSuccess(final GYResponse response) {
                        Log.d(TAG, " verify success:" + response);
                    }

                    //验证失败
                    @Override
                    public void onFailed(final GYResponse response) {
                        Log.d(TAG, " verify failed:" + response);
                    }
                });

返回示例

验证结果会在PicCallBack中返回,response的信息如下:

{  
    gyuid='b8556da533fc4ffd9d89fc3bdee2a7ef66',
    reqId='null',
    success=true,
    code=27001,
    msg='成功',
    validate='5940f0ca2c6889dacaabe03de1085b43'
}



2、动画验证码接口

/**
 * 动画验证码.
 *
 * @param activity          当前act.
 * @param businessId        业务id.
 * @param showLoadingDialog 是否显示加载框
 * @param callBack          回调
 */
public void (Activity activity, String businessId, boolean showLoadingDialog, PicCallBack callBack) 

输入参数

参数名称 是否必填 类型 描述
activity Activity 当前Activity对象
businessId String 业务场景ID,用于标识不同的场景,例如登录、注册、找回密码等,可联系技术支持添加
showLoadingDialog boolean 是否需要SDK弹出一个加载框
callBack PicCallBack 回调

调用示例

GYManager.getInstance().picVerify(MainActivity.this, businessId, true, new PicCallBack() {
            //动画验证码准备完成,即将展示.
            @Override
            public void onPicReady(GYResponse response) {
                Log.d(TAG, "pic is ready:" + response);
            }

            //验证通过
            @Override
            public void onSuccess(final GYResponse response) {
                Log.d(TAG, "verify success:" + response);
            }

            //验证失败
            @Override
            public void onFailed(final GYResponse response) {
                Log.d(TAG, "verify failed:" + response);
            }
        });

返回示例

验证结果会在PicCallBack中返回,response的信息如下:

{  
    gyuid='b8556da533fc4ffd9d89fc3bdee2a7ef66',
    reqId='null',
    success=true,
    code=27001,
    msg='成功',
    validate='5940f0ca2c6889dacaabe03de1085b43'
}



在PicCallBack中接收验证结果或异常信息

PicCallBack:

public interface PicCallBack extends GyCallBack {

    /**
     * description:验证成功.
     */    
    void onSuccess(GYResponse response);

    /**
     * description:验证失败.
     */
    void onFailed(GYResponse response);

    /**
     * description:动画验证码准备完毕,即将展示.
     */

    void onPicReady(GYResponse response);

}
  • 类 GYResponse 属性详细说明:
属性 类型 属性说明
success boolean 验证是否成功
code int 状态码
msg String 状态描述信息
gyuid String 个验用户唯一标识
reqId String 请求唯一id,错误不返回
validate String 二次校验凭证,只有验证通过才有

返回码

请参考状态码汇总

文档中心搜索