Android SDK API
Kelas Utilitas Dukungan Eksternal
Metode
getClient(Context)
Mengambil objek utilitas GTCaptcha4Client
Deklarasi
public static GTCaptcha4Client getClient(Context context)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| context | Context | Objek Context |
Catatan
Bukan singleton. Objek GTCaptcha4Client yang diperoleh dari getClient() harus disimpan untuk digunakan pada onDestroy atau siklus hidup lainnya.
init(String)
Inisialisasi dengan konfigurasi default
Deklarasi
public GTCaptcha4Client init(String captchaId)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| captchaId | String | captchaId yang didaftarkan di backend |
Catatan
Memanggil init() akan langsung memulai pemuatan captcha. Jika dipanggil sebelum onResume(), captcha akan dimuat lebih dulu (preload). Saat verifyWithCaptcha() dijalankan, proses tampil lebih cepat.
init(String, GTCaptcha4Config)
Inisialisasi dengan konfigurasi kustom
Deklarasi
public GTCaptcha4Client init(String captchaId, GTCaptcha4Config config)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| captchaId | String | captchaId yang didaftarkan di backend |
| config | GTCaptcha4Config | Objek konfigurasi |
addOnSuccessListener(GTCaptcha4Client.OnSuccessListener)
Menambahkan listener untuk hasil verifikasi, dipanggil saat captcha berhasil dimuat dan pengguna berhasil menyelesaikan captcha.
Deklarasi
public GTCaptcha4Client addOnSuccessListener(GTCaptcha4Client.OnSuccessListener response)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| response | GTCaptcha4Client.OnSuccessListener | Listener hasil verifikasi |
addOnFailureListener(GTCaptcha4Client.OnFailureListener)
Menambahkan listener untuk kegagalan pemuatan captcha.
Deklarasi
public GTCaptcha4Client addOnFailureListener(GTCaptcha4Client.OnFailureListener listener)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| listener | GTCaptcha4Client.OnFailureListener | Listener untuk kegagalan pemuatan captcha |
addOnWebViewShowListener(GTCaptcha4Client.OnWebViewShowListener)
Menambahkan listener untuk keberhasilan pemuatan verifikasi frontend.
Deklarasi
public GTCaptcha4Client addOnWebViewShowListener(GTCaptcha4Client.OnWebViewShowListener listener)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| listener | GTCaptcha4Client.OnWebViewShowListener | Listener untuk keberhasilan pemuatan verifikasi frontend |
verifyWithCaptcha()
Memulai proses verifikasi dan memuat captcha.
Deklarasi
public GTCaptcha4Client verifyWithCaptcha()
Catatan
Sebelum memanggil verifyWithCaptcha(), pastikan sudah memanggil init(), addOnSuccessListener(), dan addOnFailureListener().
cancel()
Membatalkan verifikasi dan menutup jendela verifikasi.
Deklarasi
public void cancel()
Catatan
Sebelum memanggil cancel(), pastikan sudah memanggil init(), addOnSuccessListener(), dan addOnFailureListener().
setLogEnable(boolean enable)
Aktifkan atau nonaktifkan log.
Deklarasi
public void setLogEnable(boolean enable)
Catatan
Mengontrol pencetakan log.
destroy()
Menghancurkan resource dengan siklus hidup panjang.
Deklarasi
public void destroy()
Catatan
Wajib dipanggil pada siklus hidup onDestroy dari antarmuka captcha yang digunakan oleh klien.
configurationChanged(Configuration)
Menangani perubahan orientasi layar.
Deklarasi
public void configurationChanged(Configuration newConfig)
Catatan
Wajib dipanggil pada onConfigurationChanged untuk perubahan orientasi layar.
getVersion()
Mengambil nomor versi.
Deklarasi
public static String getVersion()
Nilai Kembali
Nomor versi dalam bentuk String.
isSupportWebView(Context)
Cek apakah sistem mendukung WebView. Jika tidak, gunakan logika fallback.
Deklarasi
public static Pair<Boolean, String> isSupportWebView(Context context)
Nilai Kembali
Objek Pair:
| Param | Tipe | Deskripsi |
|---|---|---|
| first | Boolean | Apakah WebView didukung. Jika tidak, gunakan fallback. |
| second | String | Deskripsi error saat memuat objek WebView |
GTCaptcha4Config#Builder
Kelas konfigurasi parameter.
setTimeOut(int)
Atur timeout permintaan.
Deklarasi
public Builder setTimeOut(int timeOut)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| timeOut | int | Satuan: ms, default 10000 |
setResourcePath(String)
Atur path resource untuk pemuatan WebView.
Deklarasi
public Builder setResourcePath(String html)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| html | String | Alamat untuk pemuatan WebView |
Catatan
Default-nya memuat file gt4-index*.html di direktori assets. Tidak perlu diatur kecuali ada kebutuhan khusus.
setLanguage(String)
Atur bahasa untuk transmisi JS. Hanya mengontrol bahasa pada WebView yang dimuat, SDK mengikuti bahasa aplikasi.
Deklarasi
public Builder setLanguage(String language)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| language | String | Kode bahasa frontend yang didukung. Lihat dokumentasi frontend. |
Catatan
Jika diatur ke null atau tidak diatur, kode bahasa default aplikasi akan dikirimkan ke frontend.
setCanceledOnTouchOutside(boolean)
Atur apakah klik area abu-abu menutup dialog. Default: menutup.
Deklarasi
public Builder setCanceledOnTouchOutside(boolean canceledOnTouchOutside)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| canceledOnTouchOutside | boolean | true untuk menutup dialog |
setDebug(boolean)
Atur mode debug. Untuk produksi, sebaiknya false atau tidak dikonfigurasi.
Deklarasi
public Builder setDebug(boolean debug)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| debug | boolean | true untuk debug, default false |
setBackgroundColor(int)
Atur warna latar belakang WebView, berbeda dengan warna latar belakang frontend JS.
Deklarasi
public Builder setBackgroundColor(int backgroundColor)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| backgroundColor | int | Resource warna atau hasil dari Color.parseColor() |
setDialogStyle(String)
Atur tema tampilan dialog verifikasi.
Deklarasi
public Builder setDialogStyle(String dialogStyle)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| dialogStyle | String | Nama tema tampilan dialog |
Tema default:
<style name="gt4_captcha_dialog_style" parent="android:Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:padding">0dp</item>
</style>
setDialogShowListener(GTCaptcha4Client.OnDialogShowListener)
Atur callback listener saat jendela verifikasi ditampilkan.
Deklarasi
public void setDialogShowListener(GTCaptcha4Client.OnDialogShowListener dialogShowListener)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| dialogShowListener | GTCaptcha4Client.OnDialogShowListener | Listener tampilan jendela verifikasi |
setParams(Map<String, Object>)
Konfigurasi parameter tambahan yang diteruskan ke JS.
Deklarasi
public Builder setParams(Map<String, Object> params)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| params | JSONObject | Parameter konfigurasi tambahan |
Key-value yang didukung:
| Key | Tipe Nilai | Deskripsi | Default |
|---|---|---|---|
| displayMode | int | Gaya tema, 0: Ikuti sistem, 1: Normal, 2: Mode gelap | 0 |
| protocol | String | Header protokol, "https:// atau http:// |
https:// |
| bgColor | String | Warna masker latar belakang verifikasi, CSS, dua digit terakhir transparansi | #00000000 |
| loading | String | Loading kustom, path relatif resource loading untuk WebView, string kosong = tanpa loading | "/gt4-loading.gif" |
| rem | float | Rasio skala keseluruhan kode verifikasi | 1 |
| hideBar | JSONArray | Sembunyikan tombol tutup & refresh pada layar berikutnya | N/A |
| nextWidth | String | Lebar popup kode verifikasi, sertakan satuan, contoh: "300px" | N/A |
| riskType | String | Bentuk verifikasi bersama kontrol risiko | N/A |
| hideSuccess | boolean | Sembunyikan popup sukses verifikasi | FALSE |
Contoh Kode
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()
Membangun objek GTCaptcha4Config untuk digunakan pada init().
Deklarasi
public GTCaptcha4Config build()
GTCaptcha4Client#OnSuccessListener
Listener callback hasil verifikasi.
onSuccess(Boolean, String)
Callback hasil verifikasi.
Deklarasi
void onSuccess(Boolean status, String response)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| status | Boolean | Hasil verifikasi, true sukses, false gagal. Jika gagal, gaya verifikasi akan di-refresh. |
| response | String | Jika verifikasi sukses, data response perlu dikirim ke server untuk verifikasi. |
Deskripsi hasil sukses:
{"lot_number":"b150e61198924eff9eaae121e9b67aa8","pass_token":"6fcfba4c35cb57b873c99c5b3b02089c58a26244c18f7706aaa1e87aed3aa8f4","gen_time":"1622020720","captcha_output":"Tu6rW0dRNO0NLxMKftwdH00G5whF5HHddthoXSEA1G4="}
Deskripsi hasil gagal:
{"captchaId":"647f5ed2ed8acb4be36784e01556bb71","captchaType":"slide","challenge":"95ed53b4-95c6-4c6b-9aac-769b29ef74a0"}
GTCaptcha4Client#OnFailureListener
Listener callback untuk kegagalan pemuatan.
onFailure(String)
Callback kegagalan pemuatan.
Deklarasi
void onFailure(String error)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| error | String | Deskripsi kegagalan pemuatan verifikasi. Termasuk pembatalan oleh pengguna. |
Contoh kegagalan:
{"code":"-14460","msg":"Sesi verifikasi telah dibatalkan","desc":{"description":"Pengguna membatalkan 'Captcha'"}}
GTCaptcha4Client#OnWebViewShowListener
Listener callback untuk keberhasilan pemuatan verifikasi frontend.
onWebViewShow()
Callback keberhasilan pemuatan verifikasi frontend.
Deklarasi
void onWebViewShow()
Catatan
Callback setelah pemuatan frontend berhasil. Jika preload selesai, callback ini langsung dipicu setelah verifyWithCaptcha.
GTCaptcha4Client#OnDialogShowListener
Listener callback tampilan jendela verifikasi.
actionBeforeDialogShow(Dialog)
Callback sebelum jendela verifikasi ditampilkan.
Deklarasi
void actionBeforeDialogShow(Dialog dialog)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| dialog | Dialog | Instance jendela verifikasi |
actionAfterDialogShow(Dialog)
Callback setelah jendela verifikasi ditampilkan.
Deklarasi
void actionAfterDialogShow(Dialog dialog)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| dialog | Dialog | Instance jendela verifikasi |
Catatan
Anda dapat mengubah gaya sistem di sini, seperti menyembunyikan navigation bar, status bar, dll.
onDialogFocusChanged(Dialog, boolean)
Callback saat fokus jendela verifikasi berubah.
Deklarasi
void onDialogFocusChanged(Dialog dialog, boolean hasFocus)
Parameter
| Param | Tipe | Deskripsi |
|---|---|---|
| dialog | Dialog | Instance jendela verifikasi |
| hasFocus | boolean | Apakah memiliki fokus |










