API SDK Android
Classe utilitaire de support externe
Méthode
getClient(Context)
Récupère l'objet de la classe utilitaire GTCaptcha4Client
Déclaration
public static GTCaptcha4Client getClient(Context context)
Paramètres
| Param | Type | Description |
|---|---|---|
| context | Context | Objet contextuel |
Discussion
Remarque : Ceci n'est pas une implémentation singleton. L'objet GTCaptcha4Client obtenu via getClient() doit être conservé pour une utilisation dans onDestroy ou d'autres méthodes du cycle de vie.
init(String)
Initialiser avec la configuration par défaut
Déclaration
public GTCaptcha4Client init(String captchaId)
Paramètres
| Param | Type | Description |
|---|---|---|
| captchaId | String | L'identifiant captcha demandé en backend |
Discussion
Remarque : L'appel de la méthode init() lance immédiatement le processus de chargement du captcha. Si elle est appelée avant le cycle de vie onResume(), le captcha sera préchargé. Lorsque verifyWithCaptcha() est exécuté pour afficher le captcha, il se chargera et s'affichera rapidement. Il en va de même ci-dessous.
init(String, GTCaptcha4Config)
Initialiser avec une configuration personnalisée
Déclaration
public GTCaptcha4Client init(String captchaId, GTCaptcha4Config config)
Paramètres
| Param | Type | Description |
|---|---|---|
| captchaId | String | L'identifiant captcha demandé en backend |
| config | GTCaptcha4Config | Objet de configuration |
addOnSuccessListener(GTCaptcha4Client.OnSuccessListener)
Ajoute un écouteur pour les résultats de vérification, appelé lorsque le captcha est chargé avec succès et que l'utilisateur résout le captcha.
Déclaration
public GTCaptcha4Client addOnSuccessListener(GTCaptcha4Client.OnSuccessListener response)
Paramètres
| Param | Type | Description |
|---|---|---|
| response | GTCaptcha4Client.OnSuccessListener | Écouteur de résultat de vérification |
addOnFailureListener(GTCaptcha4Client.OnFailureListener)
Ajoute un écouteur pour l'échec du chargement du captcha, déclenché lorsqu'une erreur survient lors du chargement du captcha.
Déclaration
public GTCaptcha4Client addOnFailureListener(GTCaptcha4Client.OnFailureListener listener)
Paramètres
| Param | Type | Description |
|---|---|---|
| listener | GTCaptcha4Client.OnFailureListener | Écouteur d'échec de chargement du captcha |
addOnWebViewShowListener(GTCaptcha4Client.OnWebViewShowListener)
Ajoute un écouteur pour le chargement réussi de la vérification côté frontend. Lorsque la vérification frontend est chargée avec succès, le rappel est déclenché. Si le préchargement est terminé, le rappel est déclenché immédiatement après l'appel de verifyWithCaptcha.
Déclaration
public GTCaptcha4Client addOnWebViewShowListener(GTCaptcha4Client.OnWebViewShowListener listener)
Paramètres
| Param | Type | Description |
|---|---|---|
| listener | GTCaptcha4Client.OnWebViewShowListener | Écouteur pour le chargement réussi de la vérification frontend |
verifyWithCaptcha()
Démarre le processus de vérification et charge le captcha.
Déclaration
public GTCaptcha4Client verifyWithCaptcha()
Discussion
Remarque : Avant d'appeler verifyWithCaptcha(), vous devez appeler init(), addOnSuccessListener() et addOnFailureListener() ; sinon, des erreurs peuvent survenir.
cancel()
Annule la vérification et ferme la fenêtre de vérification.
Déclaration
public void cancel()
Discussion
Remarque : Avant d'appeler cancel(), vous devez appeler init(), addOnSuccessListener() et addOnFailureListener() ; sinon, des erreurs peuvent survenir.
setLogEnable(boolean enable)
Active ou désactive la surveillance des logs.
Déclaration
public void setLogEnable(boolean enable)
Discussion
L'appel de setLogEnable contrôle la fonctionnalité d'impression des logs.
destroy()
Détruit les ressources à long cycle de vie.
Déclaration
public void destroy()
Discussion
Détruit les ressources de vérification. Cette méthode doit être appelée.
Cette méthode doit être appelée pendant le cycle de vie onDestroy de l'interface captcha utilisée par le client.
configurationChanged(Configuration)
Gère les changements d'orientation d'écran.
Déclaration
public void configurationChanged(Configuration newConfig)
Discussion
Cette méthode doit être appelée lors de la méthode de cycle de vie onConfigurationChanged pour les changements d'orientation d'écran.
getVersion()
Récupère le numéro de version.
Déclaration
public static String getVersion()
Valeur de retour
Retourne le numéro de version sous forme de String.
isSupportWebView(Context)
Vérifie si le système prend en charge WebView. Si ce n'est pas le cas, il est recommandé d'utiliser une logique de secours.
Déclaration
public static Pair<Boolean, String> isSupportWebView(Context context)
Valeur de retour
Description de l'objet Pair :
| Param | Type | Description |
|---|---|---|
| first | Boolean | Si WebView est pris en charge. Sinon, une logique de secours peut être utilisée. |
| second | String | Description de l'erreur lors du chargement de l'objet WebView |
GTCaptcha4Config#Builder
Classe de configuration des paramètres.
setTimeOut(int)
Définit la durée du délai d'attente de la requête.
Déclaration
public Builder setTimeOut(int timeOut)
Paramètres
| Param | Type | Description |
|---|---|---|
| timeOut | int | Unité : ms, valeur par défaut 10000 |
setResourcePath(String)
Définit le chemin de ressource pour le chargement du WebView.
Déclaration
public Builder setResourcePath(String html)
Paramètres
| Param | Type | Description |
|---|---|---|
| html | String | L'adresse pour le chargement du WebView |
Discussion
Par défaut, il charge le fichier gt4-index*.html dans le répertoire assets. Cette interface n'a pas besoin d'être définie sauf exigences particulières.
setLanguage(String)
Définit la langue pour la transmission JS. Cette interface ne contrôle que la langue du WebView chargé, tandis que la langue du SDK suit celle de l'application courante.
Déclaration
public Builder setLanguage(String language)
Paramètres
| Param | Type | Description |
|---|---|---|
| language | String | Code court pour les langues frontend prises en charge. Voir la documentation frontend pour plus de détails. |
Discussion
Si la valeur est null ou non définie, le code court de langue par défaut de l'application sera transmis au frontend.
setCanceledOnTouchOutside(boolean)
Définit si un clic sur la zone grise ferme la boîte de dialogue. Par défaut, la boîte de dialogue se ferme.
Déclaration
public Builder setCanceledOnTouchOutside(boolean canceledOnTouchOutside)
Paramètres
| Param | Type | Description |
|---|---|---|
| canceledOnTouchOutside | boolean | true pour fermer |
setDebug(boolean)
Définit si le mode debug est activé. Pour la production, il doit être défini sur false ou non configuré.
Déclaration
public Builder setDebug(boolean debug)
Paramètres
| Param | Type | Description |
|---|---|---|
| debug | boolean | true pour debug, par défaut false |
setBackgroundColor(int)
Définit la couleur de fond du WebView, qui contrôle la couleur de fond du composant Android WebView et diffère de la couleur de fond du JS frontend.
Déclaration
public Builder setBackgroundColor(int backgroundColor)
Paramètres
| Param | Type | Description |
|---|---|---|
| backgroundColor | int | Adresse de la ressource couleur ou valeur retournée par Color.parseColor() |
setDialogStyle(String)
Définit le style du thème de la boîte de dialogue de vérification.
Déclaration
public Builder setDialogStyle(String dialogStyle)
Paramètres
| Param | Type | Description |
|---|---|---|
| dialogStyle | String | Nom du style de thème de la boîte de dialogue |
Déclaration
Voici le style de thème par défaut :
<style name="gt4_captcha_dialog_style" parent="android:Theme.Dialog">
<!-- Pas de cadre de fenêtre pour la boîte de dialogue -->
<item name="android:windowFrame">@null</item>
<!-- Flotte au-dessus de l'activité -->
<item name="android:windowIsFloating">true</item>
<!-- Est translucide -->
<item name="android:windowIsTranslucent">true</item>
<!-- Supprime le titre -->
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<!-- Utilise un fond noir translucide hors de la zone d'affichage -->
<item name="android:backgroundDimEnabled">true</item>
<!-- Définit le fond de la boîte de dialogue -->
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:padding">0dp</item>
</style>
setDialogShowListener(GTCaptcha4Client.OnDialogShowListener)
Définit le rappel de l'écouteur lors de l'affichage de la fenêtre de vérification.
Déclaration
public void setDialogShowListener(GTCaptcha4Client.OnDialogShowListener dialogShowListener)
Paramètres
| Param | Type | Description |
|---|---|---|
| dialogShowListener | GTCaptcha4Client.OnDialogShowListener | Objet écouteur pour l'affichage de la fenêtre de vérification |
setParams(Map<String, Object>)
Configure des paramètres supplémentaires, qui sont entièrement transmis à JS.
Déclaration
public Builder setParams(Map<String, Object> params)
Paramètres
| Param | Type | Description |
|---|---|---|
| params | JSONObject | Paramètre de configuration supplémentaire |
Discussion
Paires clé-valeur prises en charge :
| Clé | Type de valeur | Description | Valeur par défaut |
|---|---|---|---|
| displayMode | int | Style du thème, 0 : Suivre le système, 1 : Normal, 2 : Mode sombre | 0 |
| protocol | String | Préfixe du protocole, prend en charge "https:// ou http:// |
https:// |
| bgColor | String | Couleur du masque de fond de vérification, suit les règles CSS, attention aux deux derniers chiffres pour la transparence | #00000000 |
| loading | String | Chargement personnalisé, chemin relatif de la ressource de chargement pour le HTML du WebView, une chaîne vide signifie aucun effet de chargement | "/gt4-loading.gif" |
| rem | float | Définit le ratio d'échelle global du code de vérification | 1 |
| hideBar | JSONArray | Masque le bouton fermer et le bouton actualiser sur les écrans de vérification suivants | N/A |
| nextWidth | String | Largeur de la popup du code de vérification, unités requises, ex : "300px" | N/A |
| riskType | String | Spécifie la forme de vérification en lien avec le contrôle de risque | N/A |
| hideSuccess | boolean | Masque la popup de succès de vérification | FALSE |
Exemple de code
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()
Construit un objet GTCaptcha4Config à utiliser avec l'interface init().
Déclaration
public GTCaptcha4Config build()
GTCaptcha4Client#OnSuccessListener
Écouteur de rappel pour les résultats de vérification.
onSuccess(Boolean, String)
Rappel d'interface de vérification.
Déclaration
void onSuccess(Boolean status, String response)
Paramètres
| Param | Type | Description |
|---|---|---|
| status | Boolean | Résultat de la vérification de l'utilisateur, true pour succès, false pour échec. Un échec rafraîchira le style de vérification. |
| response | String | Lorsque la vérification de l'utilisateur réussit, les données response doivent être envoyées au serveur pour vérification. |
Discussion
Description d'une vérification réussie :
{"lot_number":"b150e61198924eff9eaae121e9b67aa8","pass_token":"6fcfba4c35cb57b873c99c5b3b02089c58a26244c18f7706aaa1e87aed3aa8f4","gen_time":"1622020720","captcha_output":"Tu6rW0dRNO0NLxMKftwdH00G5whF5HHddthoXSEA1G4="}
Description d'un échec de vérification :
{"captchaId":"647f5ed2ed8acb4be36784e01556bb71","captchaType":"slide","challenge":"95ed53b4-95c6-4c6b-9aac-769b29ef74a0"}
GTCaptcha4Client#OnFailureListener
Écouteur de rappel pour l'échec du chargement.
onFailure(String)
Rappel d'échec de chargement.
Déclaration
void onFailure(String error)
Paramètres
| Param | Type | Description |
|---|---|---|
| error | String | Description de l'échec du chargement de la vérification. Remarque : inclut l'annulation par l'utilisateur. |
Discussion
Description d'un échec de chargement :
{"code":"-14460","msg":"La session de vérification a été annulée","desc":{"description":"L'utilisateur a annulé 'Captcha'"}}
GTCaptcha4Client#OnWebViewShowListener
Écouteur de rappel pour le chargement réussi de la vérification frontend.
onWebViewShow()
Chargement réussi de la vérification frontend.
Déclaration
void onWebViewShow()
Discussion
Rappel après le chargement réussi de la vérification frontend. Si le préchargement est terminé, ce rappel est déclenché immédiatement après l'appel de verifyWithCaptcha.
GTCaptcha4Client#OnDialogShowListener
Écouteur de rappel pour l'affichage de la fenêtre de vérification.
actionBeforeDialogShow(Dialog)
Rappel avant l'affichage de la fenêtre de vérification.
Déclaration
void actionBeforeDialogShow(Dialog dialog)
Paramètres
| Param | Type | Description |
|---|---|---|
| dialog | Dialog | Instance de la fenêtre de vérification. |
actionAfterDialogShow(Dialog)
Rappel après l'affichage de la fenêtre de vérification.
Déclaration
void actionAfterDialogShow(Dialog dialog)
Paramètres
| Param | Type | Description |
|---|---|---|
| dialog | Dialog | Instance de la fenêtre de vérification. |
Discussion
Vous pouvez modifier ici les styles système, comme masquer la barre de navigation, masquer la barre d'état, etc.
onDialogFocusChanged(Dialog, boolean)
Rappel lors du changement de focus de la fenêtre de vérification.
Déclaration
void onDialogFocusChanged(Dialog dialog, boolean hasFocus)
Paramètres
| Param | Type | Description |
|---|---|---|
| dialog | Dialog | Instance de la fenêtre de vérification. |
| hasFocus | boolean | Indique si la fenêtre a le focus. |

