Captcha Android API Document

GTCaptcha4Client

验证 4.0 主要对外支持工具类

Method

getClient(Context)

获取 GTCaptcha4Client 工具类对象

Declaration

public static GTCaptcha4Client getClient(Context context)

Parameters

Param Type Description
context Context 上下文

Discussion

注意:非单例实现,通过 getClient() 获取的 GTCaptcha4Client 对象需要保存,以方便在 onDestory 或者其他生命周期使用

init(String)

使用默认配置初始化

Declaration

public final GTCaptcha4Client init(String captchaId)

Parameters

Param Type Description
captchaId String 在后台申请的 captchaId

Discussion

注意:调用 init() 方法后就执行了加载验证码操作,若在 onResume() 生命周期之前调用,就预加载了验证码,当执行 verifyWithCaptcha() 展示验证码时候,则验证码很快加载展示出来。下同。

init(String, GTCaptcha4Config)

使用自定义配置初始化

Declaration

public final GTCaptcha4Client init(String captchaId, GTCaptcha4Config config)

Parameters

Param Type Description
captchaId String 在后台申请的 captchaId
config GTCaptcha4Config 参数配置对象

addOnSuccessListener(GTCaptcha4Client.OnSuccessListener)

添加验证结果监听对象,当验证码加载成功,用户解答验证码结果回调

Declaration

public final GTCaptcha4Client addOnSuccessListener(GTCaptcha4Client.OnSuccessListener response)

Parameters

Param Type Description
response GTCaptcha4Client.OnSuccessListener 验证结果监听对象

addOnFailureListener(GTCaptcha4Client.OnFailureListener)

添加加载验证码失败监听对象,加载验证码的过程中报错

Declaration

public final GTCaptcha4Client addOnFailureListener(GTCaptcha4Client.OnFailureListener listener)

Parameters

Param Type Description
listener GTCaptcha4Client.OnFailureListener 加载验证码失败监听对象

verifyWithCaptcha()

开启验证流程,加载验证码

Declaration

public final GTCaptcha4Client verifyWithCaptcha()

Discussion

注意:调用 verifyWithCaptcha() 之前需要先调用 init()addOnSuccessListener()addOnFailureListener 否则可能报错

destroy()

销毁生命周期长的资源

Declaration

public final void destroy()

Discussion

销毁验证资源,务必调用

Declaration

public final void destroy()

Discussion

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

configurationChanged(Configuration)

横竖屏切换

Declaration

public final void configurationChanged(Configuration newConfig)

Discussion

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

getVersion()

获取版本号

Declaration

public static String getVersion()

Return Value

返回版本号,类型为 String

isSupportWebView(Context)

检测是否支持系统 WebView,若不支持,则建议走兜底逻辑

Declaration

public static Pair<Boolean, String> isSupportWebView(Context context)

Return Value

Pair 对象说明

Param Type Description
first Boolean 是否支持 WebView,若不支持则可以走兜底逻辑
second String 加载 WebView 对象报错说明

GTCaptcha4Config#Builder

参数配置类

setTimeOut(int)

设置请求超时时间

Declaration

public final Builder setTimeOut(int timeOut)

Parameters

Param Type Description
timeOut int 单位 ms,默认 10000

setResourcePath(String)

设置 WebView 加载资源地址

Declaration

public final Builder setResourcePath(String html)

Parameters

Param Type Description
html String WebView 加载地址

Discussion

默认加载 assets 目录的 gt4-index*.html 文件,无特殊需求无需设置此接口

setLanguage(String)

传输 JS 的设置语言,此接口只能控制加载 WebView 的语言,SDK 的多语言跟随当前应用

Declaration

public final Builder setLanguage(String language)

Parameters

Param Type Description
language String 前端支持语言短码,详见前端文档

Discussion

如果设置为 null 或者未设置,则使用应用默认语言短码传输给前端

setCanceledOnTouchOutside(boolean)

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

Declaration

public final Builder setCanceledOnTouchOutside(boolean canceledOnTouchOutside)

Parameters

Param Type Description
canceledOnTouchOutside boolean true 为消失

setDebug(boolean)

设置是否是 debug 模式,上线务必置为 false,或者不配置

Declaration

public final Builder setDebug(boolean debug)

Parameters

Param Type Description
debug boolean truedebug,默认为 false

setBackgroundColor(int)

设置 WebView 背景色,控制的是 Android WebView 控件的背景色,和前端 JS 的背景色不同

Declaration

public final Builder setBackgroundColor(int backgroundColor)

Parameters

Param Type Description
backgroundColor int 颜色资源地址或者 Color.parseColor() 返回值

setParams(Map)

额外参数配置,当前参数完全传输给 JS

Declaration

public final Builder setParams(Map<String, Object> params)

Parameters

Key ValueType Description
displayMode int 当前主题样式,0:跟随系统,1:普通,2:暗黑,3:色盲。默认为 0
displayArea String center:居中,bottom:底部,默认为 center
protocol String https:// 或者 http://,默认 https://
barHeight int 验证窗口向下偏移大小,单位:逻辑像素,如 14,默认不配置
bgColor String JS 蒙层背景色,遵循 css 规则,如 #000000ff,默认不配置
loading String 自定义 loadingWebView 加载 htmlloading 相对路径,如 ./loading.gif。注意:若加载远程 html 不传此字段,默认不配置

Discussion

使用键值对描述,支持基本数据类型、字符串、JSONArray 类型的数据

build()

构造 GTCaptcha4Config 对象,传输给 init() 接口使用

Declaration

public final GTCaptcha4Config build()

GTCaptcha4Client#OnSuccessListener

验证结果回调监听类

onSuccess(Boolean, String)

验证接口回调

Declaration

void onSuccess(Boolean status, String response)

Parameters

Param Type Description
status Boolean 用户操作验证结果,true 为成功,false 为失败,失败会刷新验证样式
response String 用户操作验证成功,需要拿 response 数据到服务端验证

Discussion

验证成功描述如:

{"lot_number":"b150e61198924eff9eaae121e9b67aa8","pass_token":"6fcfba4c35cb57b873c99c5b3b02089c58a26244c18f7706aaa1e87aed3aa8f4","gen_time":"1622020720","captcha_output":"Tu6rW0dRNO0NLxMKftwdH00G5whF5HHddthoXSEA1G4="}

验证失败描述如:

{"captchaId":"647f5ed2ed8acb4be36784e01556bb71","captchaType":"slide","challenge":"95ed53b4-95c6-4c6b-9aac-769b29ef74a0"}

GTCaptcha4Client#OnFailureListener

加载失败回调监听类

onFailure(String)

加载失败回调

Declaration

void onFailure(String error)

Parameters

Param Type Description
error String 验证加载失败描述,注意:包括用户主动取消

Discussion

加载失败描述如:

{"code":"-14460","msg":"验证会话已取消","desc":{"description":"User cancelled 'Captcha'"}}