All Products
Search
Document Center

Captcha:Integrasi dengan arsitektur V3 di Android

Last Updated:Oct 24, 2025

Anda dapat menggunakan komponen WebView dalam aplikasi untuk mengintegrasikan Alibaba Cloud Captcha 2.0 ke dalam aplikasi mobile HTML5. Metode ini memanfaatkan teknologi pengembangan aplikasi hibrida yang matang guna menyediakan verifikasi manusia-mesin bagi layanan aplikasi Anda. Topik ini menjelaskan cara mengintegrasikan Captcha 2.0 dalam aplikasi Android.

Informasi latar belakang

Captcha 2.0 untuk aplikasi mobile HTML5 menawarkan manfaat seperti iterasi cepat dan kompatibilitas kuat. Dengan mengintegrasikan layanan Captcha 2.0, Anda dapat menghindari masalah kompatibilitas yang disebabkan oleh dependensi dan referensi pada komponen aplikasi asli. Iterasi cepat dari HTML5 Captcha 2.0 juga membantu aplikasi merespons serangan canggih dengan lebih baik.

Ikhtisar integrasi

Catatan

Jika layanan Anda menggunakan arsitektur V2, lihat Integrasi dengan arsitektur V2 di Android.

Mengintegrasikan Captcha 2.0 untuk aplikasi HTML5 ke dalam aplikasi Android melibatkan langkah-langkah berikut:

  1. Klien Layanan HTML5: Integrasikan Captcha 2.0 ke dalam klien layanan HTML5 dan mulai verifikasi.

  2. Server untuk Layanan HTML5: Integrasikan SDK Captcha 2.0 ke dalam server dan panggil operasi API VerifyIntelligentCaptcha untuk memulai verifikasi tanda tangan untuk layanan Anda.

  3. Klien Aplikasi Android: Gunakan komponen WebView untuk mengaktifkan dan menerapkan halaman layanan yang memerlukan integrasi Captcha 2.0 di aplikasi Anda.

Prasyarat

  • Layanan Captcha 2.0 telah diaktifkan.

  • Sebuah skenario verifikasi dibuat di mana Integration Method diatur ke Webview+H5 (for Apps And WeChat Mini Programs).

  • Android 7.0 atau lebih baru digunakan.

Prosedur

Langkah 1: Integrasikan Alibaba Cloud Captcha 2.0 ke dalam klien layanan HTML5

  1. Dalam kode klien layanan HTML5 Anda, integrasikan kode sisi klien yang disediakan oleh Captcha 2.0. Untuk informasi lebih lanjut, lihat Integrasi dengan arsitektur V3 untuk klien web dan HTML5.

    Catatan

    Jika layanan Anda menggunakan arsitektur V2, lihat Integrasi dengan arsitektur V2 untuk klien web dan HTML5.

  2. Dalam fungsi callback sukses, tambahkan fungsi JavaScript untuk mengembalikan parameter verifikasi tanda tangan ke antarmuka Java kustom testJsInterface, seperti yang dijelaskan dalam Langkah 5 dan Langkah 6. Setelah antarmuka Java mendapatkan parameter verifikasi tanda tangan, aplikasi Android dapat mengirim permintaan layanan dan verifikasi tanda tangan serta memproses hasil verifikasi.

    // fungsi callback sukses
    function success(captchaVerifyParam) {
      // Parameter input adalah captchaVerifyParam untuk verifikasi tanda tangan.
      // Kembalikan parameter verifikasi tanda tangan ke antarmuka Java kustom.
      window.testInterface && window.testInterface.getCaptchaVerifyParam(captchaVerifyParam);
    }
    

Data yang dikembalikan

Selama verifikasi perilaku untuk klien arsitektur V3 yang terhubung ke Captcha 2.0, server Captcha memverifikasi jawaban dan menentukan apakah permintaan berasal dari mesin. Server kemudian mengembalikan kode Captcha dan parameter lainnya ke klien Anda. Anda dapat melihat data yang dikembalikan menggunakan fitur Jaringan di browser Anda. Untuk informasi lebih lanjut, lihat Data yang Dikembalikan untuk Klien Arsitektur V3.

lQLPJxFSi2GYDIHNBHTNCpawwjNH3sY_CI4IOehh6YNsAQ_2710_1140

Langkah 2: Integrasikan Alibaba Cloud Captcha 2.0 ke dalam server untuk halaman HTML5

Di server untuk halaman layanan HTML5, integrasikan kit pengembangan perangkat lunak (SDK) sisi server yang disediakan oleh Captcha 2.0. Kemudian, panggil operasi API VerifyIntelligentCaptcha untuk memulai verifikasi tanda tangan untuk layanan Anda. Untuk informasi lebih lanjut, lihat Integrasi Sisi Server.

Langkah 3: Aktifkan dan terapkan halaman layanan pada klien aplikasi Android

  1. Dalam file Activity.java proyek aplikasi Android Anda, impor pustaka dependensi untuk komponen WebView.

    import android.webkit.WebView;
    import android.webkit.WebSettings;
    import android.webkit.WebViewClient;
    import android.webkit.WebChromeClient;
    // Atau
    // import android.webkit.*;
  2. Dalam file konfigurasi AndroidManifest.xml, atur izin untuk memuat halaman web.

    Catatan

    Jika sumber daya HTTP lain dipanggil, Anda juga harus menambahkan konfigurasi yang sesuai.

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <application
      ...
      android:usesCleartextTraffic="true"
      ...
      >
  3. Dalam file tata letak activity_main.xml, tambahkan komponen WebView.

    <WebView
      android:id="@+id/webview"
      android:layout_height="match_parent"
      android:layout_width="match_parent"
    />
  4. Dalam file MainActivity.java, muat halaman layanan HTML5.

    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initView();
        }
        private void initView() {
            // Tata letak halaman
            WebView webview = findViewById(R.id.webview);
            // Pengaturan WebView
            WebSettings webSettings = webview.getSettings();
            // Opsional. Aktifkan debugging Chrome.
            WebView.setWebContentsDebuggingEnabled(true);
            // Jadikan layar responsif.
            webSettings.setUseWideViewPort(true);
            webSettings.setLoadWithOverviewMode(true);
            // Nonaktifkan caching untuk memastikan versi terbaru Captcha 2.0 dapat segera diambil untuk melawan serangan.
            webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
            // Izinkan komponen WebView memuat JavaScript.
            webSettings.setJavaScriptEnabled(true);
            webSettings.setDomStorageEnabled(true);
            
            // Gunakan komponen WebView untuk memuat halaman alih-alih browser default.
            webview.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) { 
                    view.loadUrl(url);
                    return true;
                }
            });
            // Muat halaman layanan.
            webview.loadUrl("http://x.x.x.x/demo/");
        }
    }
  5. Dalam file MainActivity.java, tambahkan antarmuka Java kustom testJsInterface dan definisikan metode getCaptchaVerifyParam untuk mendapatkan parameter verifikasi tanda tangan Captcha.

    import android.webkit.JavascriptInterface;
    
    public class testJsInterface {
        @JavascriptInterface
        public void getCaptchaVerifyParam(String captchaVerifyParam) {
            // Setelah Anda mendapatkan parameter verifikasi tanda tangan, Anda dapat mengirim permintaan layanan dan verifikasi tanda tangan serta memproses hasil verifikasi.
            System.out.println(captchaVerifyParam);
        }
    }
  6. Dalam metode initView() dari MainActivity.java, ikat antarmuka Java kustom ke fungsi JavaScript.

    // Bangun jembatan untuk JavaScript memanggil antarmuka Java.
    webview.addJavascriptInterface(new testJsInterface(), "testInterface");

Setelah Anda menyelesaikan konfigurasi ini, aplikasi Android Anda terintegrasi dengan Captcha 2.0. Anda dapat menggunakan Captcha di aplikasi Android Anda untuk menguji verifikasi. Jika Captcha bekerja seperti yang diharapkan, integrasi berhasil.

Unduh demo untuk arsitektur V3 Android

Demo untuk Integrasi Aplikasi Android