> >

Sensebot Android API Document

GT3GeetestUtils

Sensebot的主要外部调用接口

Method

GT3GeetestUtils(Context)

管理类GT3GeetestUtils构造方法

Declaration

public GT3GeetestUtils(Context context)

Parameters

Param Type Description
context Context 上下文

init(GT3ConfigBean bean)

初始化

Declaration

public void init(GT3ConfigBean bean)

Parameters

Param Type Description
bean GT3ConfigBean 配置bean

startCustomFlow()

开启验证

Declaration

public void startCustomFlow()

getGeetest()

继续验证

Declaration

public void getGeetest()

dismissGeetestDialog()

关闭正在运行的Dialog

Declaration

public void dismissGeetestDialog()

showSuccessDialog()

弹出验证成功的弹框

Declaration

public void showSuccessDialog()

Discussion

该方法在拿到二次验证结果后,如果验证成功则调用该方法

showFailedDialog()

弹出验证失败的弹框

Declaration

public void showFailedDialog()

Discussion

该方法在拿到二次验证结果后,如果验证失败则调用该方法

getVersion()

获取当前SDK的版本号

Declaration

public static String getVersion()

Return Value

返回版本号,类型为String

destory()

用于释放上下文以及各种资源

Declaration

public void destory()

Discussion

该方法在客户使用的验证码界面的onDestroy生命周期中调用

changeDialogLayout()

横竖屏切换

Declaration

public void changeDialogLayout()

Discussion

该方法在横竖屏切换生命周期onConfigurationChanged中调用

GT3ConfigBean

配置类

setApi1Json(JSONObject)

获取客户请求api1返回的的数据

Declaration

public void setApi1Json(JSONObject json)

Parameters

Param Type Description
json JSONObject 客户请求api1返回的的数据

Discussion

该方法用于设置api1获取数据,注意参数json格式:

{
"success" : 1,
"challenge" : "4a5cef77243baa51b2090f7258bf1368",
"gt" : "019924a82c70bb123aae90d483087f94"
}

以上successchallengegt这3个参数为必须参数,客户可以添加新参数,但是不能删减,以免导致无法加载验证码

setTimeout(int)

设置加载webview超时时间,单位毫秒,默认10000

Declaration

public void setTimeout(int time)

Parameters

Param Type Description
time int 毫秒数 如:10000

setWebviewTimeout(int)

设置webview请求超时时间,单位毫秒,默认10000

Declaration

public void setWebviewTimeout(int time)

Parameters

Param Type Description
time int 毫秒数 如:10000

setLang(String)

设置语言,默认支持11种

Declaration

public void setLang(String lang)

Parameters

Param Type Description
lang String “zh”–简体中文, “zh-tw”–繁体中文, “zh-hk”–繁体中文, “en”–英语, “id”–印尼语, “ja”–日语, “ko”–韩语, “ru”–俄语, “ar”–阿拉伯语, “es”–西班牙语, “pt-pt”–葡萄牙语, “fr”–法语, “de”–德语, “th”–泰语, “tr”–土耳其语, “vi”–越南语, “ta”–泰米尔语, “it”–意大利语, “bn”–孟加拉语, “mr”–马拉地语。如果为null或者未设置,则使用系统默认语言;

Discussion

当为unbind模式,若想设置语言立即生效,则init需要在setContentView之前调用

setCanceledOnTouchOutside(boolean)

设置点击灰色区域是否消失,默认不消失

Declaration

public void setCanceledOnTouchOutside(boolean cancel)

Parameters

Param Type Description
cancel boolean true为消失

setUnCanceledOnTouchKeyCodeBack(boolean)

设置点击 back 返回键弹框是否消失,默认消失

Declaration

public void  setUnCanceledOnTouchKeyCodeBack(boolean cancel)

Parameters

Param Type Description
cancel boolean true为不消失,false为消失

setPattern(int)

1 is bind,2 is unbind

Declaration

public void setPattern(int pattern)

Parameters

Param Type Description
pattern int 1为bind,2为unbind

setGt3ServiceNode(GT3ServiceNode)

设置验证服务集群节点,默认为中国节点,使用其他节点需要相应配置,否则无法使用验证

Declaration

public void  setGt3ServiceNode(GT3ServiceNode gt3ServiceNode)

Parameters

Param Type Description
gt3ServiceNode GT3ServiceNode 为 enum 类型,可选择 NODE_CHINA 或 NODE_NORTH_AMERICA

setGTViewWithParams(Map<String,String>)

设置前端参数

Declaration

public void  setGTViewWithParams(Map<String,String> map)

Parameters

Param Type Description
map Map<String,String> 以map格式传入,SDK 解析为表单格式拼接在请求地址中

setLoadImageView(GT3LoadImageView)

设置自定义loading

Declaration

public void setLoadImageView(GT3LoadImageView loadImageView)

Parameters

Param Type Description
loadImageView GT3LoadImageView 自定义loading

Discussion

需要自定义继承GT3LoadImageView,然后设置给GT3ConfigBean对象

setListener(GT3Listener)

设置回调监听

Declaration

public void setListener(GT3Listener listener)

Parameters

Param Type Description
listener GT3Listener GT3Listener为监听类

setCorners(int)

设置验证 View 圆角半径大小,单位 dp

Declaration

public void setCorners(int radius)

Parameters

Param Type Description
radius int dp值 如:12

setReleaseLog(boolean)

设置是否关闭写日志功能,默认为 true

Declaration

public void  setReleaseLog(boolean release)

Parameters

Param Type Description
release boolean true为写验证码加载日志到本地,默认为 fasle

GT3Listener

回调监听类

onDialogReady()

验证码加载完成

Declaration

public void onDialogReady(String duration)

Parameters

Param Type Description
duration String 加载时间和版本等信息,为json格式

onReceiveCaptchaCode()

图形验证结果回调

Declaration

public void onReceiveCaptchaCode(int i)

Parameters

Param Type Description
i int 1为正常 0为失败

onClosed(int)

验证码被关闭

Declaration

public void onClosed(int  num)

Parameters

Param Type Description
num int 1 点击验证码的关闭按钮来关闭验证码, 2 点击屏幕关闭验证码, 3 点击返回键关闭验证码

onDialogResult(String)

验证结果回调

Declaration

public void onDialogResult(String result)

Parameters

Param Type Description
result String 验证结果

Discussion

二次验证需要的三个参数geetest_challenge,geetest_validate,geetest_seccode,以上三个参数为必传参数,客户可以自行添加数据但不得删减

onSuccess(String)

验证成功回调

Declaration

public void onSuccess(String result)

Parameters

Param Type Description
result String 验证成功回调数据

onFailed(GT3ErrorBean)

验证失败回调

Declaration

public void onFailed(GT3ErrorBean errorBean)

Parameters

Param Type Description
errorBean GT3ErrorBean 验证失败回调数据

Discussion

验证错误码后面详细说明

onButtonClick()

button被点击,验证开始

Declaration

public void onButtonClick()

Discussion

用于监听button按键被点击

actionBeforeDialogShow()

Dialog show 方法执行前回调

Declaration

public void actionBeforeDialogShow(Dialog dialog)

Discussion

用于弹出验证码时隐藏导航栏

@Override
public void actionBeforeDialogShow(Dialog dialog) {
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
}

actionAfterDialogShow()

Dialog show 方法执行后回调

Declaration

public void actionAfterDialogShow(Dialog dialog)

Discussion

用于弹出验证码时隐藏导航栏

@Override
public void actionAfterDialogShow(Dialog dialog) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_FULLSCREEN;
dialog.getWindow().getDecorView().setSystemUiVisibility(uiOptions);
}
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
}

onWindowFocusChanged()

Dialog onWindowFocusChanged 方法执行时回调

Declaration

public void onWindowFocusChanged(Dialog dialog, boolean hasFocus)

Discussion

用于弹出验证码时隐藏导航栏

GT3GeetestButton

UnBind模式自定义Button

Method

setGeetestUtils(GT3GeetestUtils)

设置GT3GeetestUtils对象

Declaration

public void setGeetestUtils(GT3GeetestUtils geetestUtils)

Parameters

Param Type Description
geetestUtils GT3GeetestUtils 关联对象

Discussion

将GT3GeetestUtils和GT3GeetestButton关联

GT3LoadImageView

bind自定义loading,目前只支持自定义Loading的icon部分

Method

isGif()

是否是gif资源,默认返回true,true为gif资源,false为自定义View视图

Declaration

public boolean isGif()

Discussion

若想定义 Loading 的 icon,则将宽高和gif资源设置进入 GT3LoadImageView 对象即可

setIconRes(int)

设置 gif 资源,生效前提为 isGif 返回 true

Declaration

public void setIconRes(int iconRes)

Parameters

Param Type Description
iconRes int 资源地址

Discussion

生效前提为 isGif 返回 true,且 isGif() 默认返回 true

setLoadViewWidth(int)

设置icon宽

Declaration

public void setLoadViewWidth(int loadViewWidth)

setLoadViewHeight(int)

设置icon高

Declaration

public void setLoadViewHeight(int loadViewHeight)

execute()

预处理函数,icon被加载到页面之前,预处理操作,如:开始动画

Declaration

public void execute()

Discussion

若icon为非gif,则需要重载 isGif() 返回false,自定义 onDraw() 等方法。具体参考demo