API del SDK de Android
Clase de utilidad de soporte externo
Método
getClient(Context)
Obtener el objeto de la clase de utilidad GTCaptcha4Client
Declaración
public static GTCaptcha4Client getClient(Context context)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| context | Context | Objeto Context |
Descripción
Nota: Esto no es una implementación singleton. El objeto GTCaptcha4Client obtenido mediante getClient() debe guardarse para su uso en onDestroy u otros métodos del ciclo de vida.
init(String)
Inicializar con la configuración predeterminada
Declaración
public GTCaptcha4Client init(String captchaId)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| captchaId | String | El captchaId solicitado en el backend |
Descripción
Nota: Llamar al método init() inicia inmediatamente el proceso de carga del captcha. Si se llama antes del ciclo de vida onResume(), el captcha se precargará. Cuando se ejecute verifyWithCaptcha() para mostrar el captcha, se cargará y mostrará rápidamente. Lo mismo se aplica a continuación.
init(String, GTCaptcha4Config)
Inicializar con configuración personalizada
Declaración
public GTCaptcha4Client init(String captchaId, GTCaptcha4Config config)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| captchaId | String | El captchaId solicitado en el backend |
| config | GTCaptcha4Config | Objeto de configuración |
addOnSuccessListener(GTCaptcha4Client.OnSuccessListener)
Añadir un listener para los resultados de verificación, que se invoca mediante un callback cuando el captcha se carga correctamente y el usuario resuelve el captcha.
Declaración
public GTCaptcha4Client addOnSuccessListener(GTCaptcha4Client.OnSuccessListener response)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| response | GTCaptcha4Client.OnSuccessListener | Listener de resultados de verificación |
addOnFailureListener(GTCaptcha4Client.OnFailureListener)
Añadir un listener para el fallo de carga del captcha, que se activa cuando se produce un error durante el proceso de carga del captcha.
Declaración
public GTCaptcha4Client addOnFailureListener(GTCaptcha4Client.OnFailureListener listener)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| listener | GTCaptcha4Client.OnFailureListener | Listener de fallo de carga del captcha |
addOnWebViewShowListener(GTCaptcha4Client.OnWebViewShowListener)
Añadir un listener para la carga correcta de la verificación del frontend. Cuando la verificación del frontend se carga correctamente, se activa el callback. Si la precarga se ha completado, el callback se activa inmediatamente después de llamar a verifyWithCaptcha.
Declaración
public GTCaptcha4Client addOnWebViewShowListener(GTCaptcha4Client.OnWebViewShowListener listener)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| listener | GTCaptcha4Client.OnWebViewShowListener | Listener para la carga correcta de la verificación del frontend |
verifyWithCaptcha()
Iniciar el proceso de verificación y cargar el captcha.
Declaración
public GTCaptcha4Client verifyWithCaptcha()
Descripción
Nota: Antes de llamar a verifyWithCaptcha(), es necesario llamar a init(), addOnSuccessListener() y addOnFailureListener(); de lo contrario, pueden producirse errores.
cancel()
Cancelar la verificación y cerrar la ventana de verificación.
Declaración
public void cancel()
Descripción
Nota: Antes de llamar a cancel(), es necesario llamar a init(), addOnSuccessListener() y addOnFailureListener(); de lo contrario, pueden producirse errores.
setLogEnable(boolean enable)
Habilitar o deshabilitar la monitorización de logs.
Declaración
public void setLogEnable(boolean enable)
Descripción
Llamar a setLogEnable controla la funcionalidad de impresión de logs.
destroy()
Destruir recursos de ciclo de vida largo.
Declaración
public void destroy()
Descripción
Destruir los recursos de verificación. Es obligatorio llamar a este método.
Descripción
Este método debe llamarse durante el ciclo de vida onDestroy de la interfaz de captcha utilizada por el cliente.
configurationChanged(Configuration)
Gestionar cambios de orientación de pantalla.
Declaración
public void configurationChanged(Configuration newConfig)
Descripción
Este método debe llamarse durante el método de ciclo de vida onConfigurationChanged para cambios de orientación de pantalla.
getVersion()
Obtener el número de versión.
Declaración
public static String getVersion()
Valor devuelto
Devuelve el número de versión como String.
isSupportWebView(Context)
Comprobar si el sistema admite WebView. Si no es compatible, se recomienda utilizar una lógica de fallback.
Declaración
public static Pair<Boolean, String> isSupportWebView(Context context)
Valor devuelto
Descripción del objeto Pair:
| Parámetro | Tipo | Descripción |
|---|---|---|
| first | Boolean | Indica si WebView es compatible. Si no lo es, se puede utilizar lógica de fallback. |
| second | String | Descripción del error al cargar el objeto WebView |
GTCaptcha4Config#Builder
Clase de configuración de parámetros.
setTimeOut(int)
Establecer la duración del tiempo de espera de la solicitud.
Declaración
public Builder setTimeOut(int timeOut)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| timeOut | int | Unidad: ms; el valor predeterminado es 10000 |
setResourcePath(String)
Establecer la ruta de recursos para la carga de WebView.
Declaración
public Builder setResourcePath(String html)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| html | String | La dirección para la carga de WebView |
Descripción
De forma predeterminada, se carga el archivo gt4-index*.html del directorio assets. No es necesario configurar esta interfaz salvo que existan requisitos especiales.
setLanguage(String)
Establecer el idioma para la transmisión de JS. Esta interfaz solo puede controlar el idioma del WebView cargado, mientras que el idioma del SDK sigue el de la aplicación actual.
Declaración
public Builder setLanguage(String language)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| language | String | Código corto de los idiomas de frontend compatibles. Consultar la documentación del frontend para más detalles. |
Descripción
Si se establece como null o no se establece, se transmitirá al frontend el código corto de idioma predeterminado de la aplicación.
setCanceledOnTouchOutside(boolean)
Establecer si al hacer clic en el área gris se cerrará el cuadro de diálogo. El valor predeterminado es cerrar.
Declaración
public Builder setCanceledOnTouchOutside(boolean canceledOnTouchOutside)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| canceledOnTouchOutside | boolean | true para cerrar |
setDebug(boolean)
Establecer si está en modo debug. En producción, debe establecerse en false o no configurarse.
Declaración
public Builder setDebug(boolean debug)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| debug | boolean | true para debug; el valor predeterminado es false |
setBackgroundColor(int)
Establecer el color de fondo de WebView, que controla el color de fondo del componente Android WebView y es diferente del color de fondo del JS del frontend.
Declaración
public Builder setBackgroundColor(int backgroundColor)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| backgroundColor | int | Dirección del recurso de color o el valor devuelto por Color.parseColor() |
setDialogStyle(String)
Establecer el estilo del tema del cuadro de diálogo de verificación.
Declaración
public Builder setDialogStyle(String dialogStyle)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| dialogStyle | String | Nombre del estilo de tema del diálogo |
Declaración
A continuación se muestra el estilo de tema predeterminado:
<style name="gt4_captcha_dialog_style" parent="android:Theme.Dialog">
<!-- No window frame for the Dialog -->
<item name="android:windowFrame">@null</item>
<!-- Whether it floats above the activity -->
<item name="android:windowIsFloating">true</item>
<!-- Whether it is translucent -->
<item name="android:windowIsTranslucent">true</item>
<!-- Removes the title -->
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<!-- Whether to use a black translucent background outside the display area -->
<item name="android:backgroundDimEnabled">true</item>
<!-- Sets the background of the dialog -->
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:padding">0dp</item>
</style>
setDialogShowListener(GTCaptcha4Client.OnDialogShowListener)
Establecer el callback del listener para cuando se muestra la ventana de verificación.
Declaración
public void setDialogShowListener(GTCaptcha4Client.OnDialogShowListener dialogShowListener)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| dialogShowListener | GTCaptcha4Client.OnDialogShowListener | Objeto listener para la visualización de la ventana de verificación |
setParams(Map<String, Object>)
Configurar parámetros adicionales, que se pasan íntegramente a JS.
Declaración
public Builder setParams(Map<String, Object> params)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| params | JSONObject | Parámetro de configuración adicional |
Descripción
Los pares clave-valor compatibles son los siguientes:
| Clave | Tipo de valor | Descripción | Valor predeterminado |
|---|---|---|---|
| displayMode | int | Estilo del tema, 0: Según el sistema, 1: Normal, 2: Modo oscuro | 0 |
| protocol | String | Encabezado de protocolo, admite https:// o http:// |
https:// |
| bgColor | String | Color de la máscara de fondo de verificación; sigue las reglas de CSS; se deben tener en cuenta los dos últimos dígitos para la transparencia | #00000000 |
| loading | String | Carga personalizada; ruta relativa del recurso de carga para la carga de HTML de WebView; una cadena vacía significa que no hay efecto de carga | "/gt4-loading.gif" |
| rem | float | Establecer la relación de escala global del código de verificación | 1 |
| hideBar | JSONArray | Ocultar el botón de cerrar y el botón de refrescar en pantallas de verificación posteriores | N/A |
| nextWidth | String | Ancho del popup del código de verificación; debe incluir unidades, p. ej., "300px" | N/A |
| riskType | String | Especificar el formulario de verificación en conjunto con el control de riesgos | N/A |
| hideSuccess | boolean | Ocultar el popup de éxito de verificación | FALSE |
Código de ejemplo
Map<String, Object> params = new HashMap<>();
params.put("displayMode", 0);
params.put("protocol", "https://");
params.put("bgColor", "#CC0000FF");
params.put("loading", "./loading_test.gif");
params.put("rem", 0.6);
JSONArray hideBar = new JSONArray()
.put("close")
.put("refresh");
params.put("hideBar", hideBar);
params.put("nextWidth", "300px");
params.put("hideSuccess", true);
GTCaptcha4Config.Builder builder = new GTCaptcha4Config.Builder()
.setParams(params);
build()
Construir un objeto GTCaptcha4Config para su uso con la interfaz init().
Declaración
public GTCaptcha4Config build()
GTCaptcha4Client#OnSuccessListener
Listener de callback para resultados de verificación.
onSuccess(Boolean, String)
Callback de la interfaz de verificación.
Declaración
void onSuccess(Boolean status, String response)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| status | Boolean | Resultado de la verificación de la operación del usuario: true si es correcta, false si falla. Si falla, se refrescará el estilo de verificación. |
| response | String | Cuando la verificación de la operación del usuario es correcta, los datos de response deben enviarse al servidor para su verificación. |
Descripción
Descripción de verificación correcta:
{"lot_number":"b150e61198924eff9eaae121e9b67aa8","pass_token":"6fcfba4c35cb57b873c99c5b3b02089c58a26244c18f7706aaa1e87aed3aa8f4","gen_time":"1622020720","captcha_output":"Tu6rW0dRNO0NLxMKftwdH00G5whF5HHddthoXSEA1G4="}
Descripción de verificación fallida:
{"captchaId":"647f5ed2ed8acb4be36784e01556bb71","captchaType":"slide","challenge":"95ed53b4-95c6-4c6b-9aac-769b29ef74a0"}
GTCaptcha4Client#OnFailureListener
Listener de callback para fallo de carga.
onFailure(String)
Callback de fallo de carga.
Declaración
void onFailure(String error)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| error | String | Descripción del fallo de carga de la verificación. Nota: Incluye la cancelación iniciada por el usuario. |
Descripción
Descripción de fallo de carga:
{"code":"-14460","msg":"Verification session has been canceled","desc":{"description":"User cancelled 'Captcha'"}}
GTCaptcha4Client#OnWebViewShowListener
Listener de callback para la carga correcta de la verificación del frontend.
onWebViewShow()
Carga correcta de verificación del frontend.
Declaración
void onWebViewShow()
Descripción
Callback tras cargarse correctamente la verificación del frontend. Si la precarga se ha completado, este callback se activa inmediatamente después de llamar a verifyWithCaptcha.
GTCaptcha4Client#OnDialogShowListener
Listener de callback para la visualización de la ventana de verificación.
actionBeforeDialogShow(Dialog)
Callback antes de que se muestre la ventana de verificación.
Declaración
void actionBeforeDialogShow(Dialog dialog)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| dialog | Dialog | Instancia de la ventana de verificación. |
actionAfterDialogShow()
Callback después de que se muestre la ventana de verificación.
Declaración
void actionAfterDialogShow(Dialog dialog)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| dialog | Dialog | Instancia de la ventana de verificación. |
Descripción
Aquí se pueden cambiar estilos del sistema, como ocultar la barra de navegación, ocultar la barra de estado, etc.
onDialogFocusChanged()
Callback cuando cambia el foco de la ventana de verificación.
Declaración
void onDialogFocusChanged(Dialog dialog, boolean hasFocus)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| dialog | Dialog | Instancia de la ventana de verificación. |
| hasFocus | boolean | Si tiene foco. |
