Tab Kustom Android memberikan pengalaman penjelajahan yang lengkap, aman, dan lancar langsung dalam alur login jaringan untuk captive portal, seperti yang ditemukan di bandara, hotel, dan pesawat. Dengan mengintegrasikan browser utama pengguna ke dalam proses autentikasi, Tab Kustom memungkinkan fungsi lanjutan termasuk pengisian otomatis sekali ketuk untuk kredensial dan pembayaran, streaming yang dilindungi DRM, dan konektivitas yang konsisten untuk pengguna dengan fitur keamanan seperti VPN dan DNS Pribadi. Untuk mengetahui informasi selengkapnya tentang Tab Kustom, lihat Ringkasan Tab Kustom Android.
Keunggulan dibandingkan WebView lama
Mengintegrasikan browser utama pengguna menggunakan Tab Kustom menyelesaikan beberapa batasan fungsional yang melekat dalam alur autentikasi berbasis WebView lama untuk operator jaringan:
- Transaksi yang disederhanakan: Antarmuka mendukung isi otomatis sekali ketuk untuk kredensial dan informasi pembayaran tersimpan, sehingga mengurangi entri data manual selama proses login. (Lihat Gambar 1.)
- Kompatibilitas media: Platform ini mendukung konten yang dilindungi DRM (seperti Widevine), sehingga memungkinkan pemutaran streaming video terenkripsi secara langsung dalam portal. (Lihat Gambar 2.)
- Dukungan untuk konfigurasi keamanan: Tab Kustom mempertahankan fungsi portal untuk perangkat yang menggunakan VPN atau DNS pribadi, fitur keamanan yang sering menyebabkan pengalihan browser standar gagal.
- Konsistensi antarmuka: Tab Kustom terintegrasi langsung dengan browser sistem, sehingga menyediakan alat fungsional dan elemen UI yang sama seperti yang tersedia di sesi browser lengkap.
- Persistensi latar belakang: Portal tetap beroperasi di latar belakang, berfungsi sebagai titik akses persisten selama periode koneksi.
Gambar 1. Input manual (WebView) versus isi otomatis (Tab Kustom).
Gambar 2. Tidak ada video (WebView) versus pemutaran video (Tab Kustom).
Alur penemuan dan koneksi Tab Kustom
Meskipun Tab Kustom menyediakan antarmuka, Captive Portal API mengelola alur cerdas penemuan ke koneksi:
- Penemuan: Jaringan mengiklankan dukungan API-nya menggunakan DHCP Option 114.
- Interaksi: Perangkat Android mengkueri endpoint API untuk mengambil payload JSON yang berisi status jaringan.
- Koneksi: Jika respons JSON memberi sinyal untuk menggunakan Tab Kustom, sistem akan membuka portal di lingkungan browser berperforma tinggi, bukan di jendela sistem dasar.
Captive Portal API memungkinkan perangkat Android mendeteksi apakah ada captive portal
menggunakan kolom captive. API mengintegrasikan kolom lain seperti
venue-info-url dan seconds-remaining ke dalam UI sistem Android.
Gambar 3. Penemuan API captive portal ke alur koneksi.
Mengaktifkan Tab Kustom Android
Untuk mendukung alur Tab Kustom, operator jaringan harus menerapkan Captive Portal API dan memilih ikut serta melalui konfigurasi JSON.
Persyaratan
Mengaktifkan Tab Kustom untuk login captive portal memerlukan hal berikut:
- Perangkat yang menjalankan Android 12 dan yang lebih tinggi yang mendukung update sistem Google Play (lihat Mainline) melalui modul
CaptivePortalLoginMainline. - Dukungan untuk Captive Portal API (RFC 8908). Untuk mengetahui detailnya, lihat Mendukung Captive Portal API.
Memilih untuk menggunakan Tab Kustom Android
Jika jaringan Anda sudah mendukung Captive Portal API (RFC 8908), tambahkan pasangan nilai kunci berikut ke objek respons JSON yang ada untuk mengaktifkan alur Tab Kustom:
| Kunci | Nilai | Deskripsi |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
Nilai ini merepresentasikan nomor versi untuk modul Captive Portal Login Mainline yang dirilis pada Januari 2026. Perangkat dengan update modul yang sama dengan atau lebih baru dari versi ini menggunakan alur login Custom Tabs. |
Contoh objek JSON ini mencakup semua atribut portal captive yang didukung oleh Android:
{
"captive": true,
"user-portal-url": "https://login.example.com",
"venue-info-url": "https://venue.example.com",
"seconds-remaining": 3600,
"x-android-use-custom-tabs": 361335020
}
Berikut adalah atribut captive portal JSON yang tersedia:
captive: Setel ketruejika autentikasi diperlukan; setel kefalsejika pengguna sudah online.user-portal-url: URL halaman login atau pembayaran.venue-info-url: Link ke situs Anda untuk mendapatkan informasi (misalnya, detail penerbangan atau peta).seconds-remaining: Menunjukkan sisa waktu (dalam detik) perangkat diharapkan mempertahankan koneksi internet.x-android-use-custom-tabs: Mengontrol apakah perangkat menggunakan tab kustom jika tersedia.
Mendukung Captive Portal API
Jika jaringan Anda tidak mendukung Captive Portal API, ikuti langkah-langkah berikut untuk mengaktifkan Captive Portal API dan alur Tab Kustom.
Perbarui konfigurasi server DHCP Anda untuk menyertakan opsi DHCP 114.
Nilai: Berikan URL HTTPS lengkap dari file JSON yang dibuat secara dinamis yang berisi informasi portal captive (misalnya,
https://api.yourvenue.com/status).Hasil: Saat bergabung ke jaringan, perangkat Android akan membuat kueri API yang diberikan, bukan menunggu pengalihan browser.
Konfigurasi server API Anda untuk merespons permintaan HTTP GET di URL yang diberikan dengan file JSON yang memberi tahu perangkat tentang status portal saat ini.
Persyaratan HTTPS: Server API Anda harus menggunakan sertifikat HTTPS yang valid.
Penggantian keamanan: Jika sertifikat tidak valid atau ditandatangani sendiri, perangkat akan kembali ke perilaku portal captive lama.
Perilaku deteksi captive portal Android
Captive Portal API menyediakan alternatif yang andal untuk pemeriksaan jaringan Android standar dalam mendeteksi keberadaan captive portal, sehingga menghindari inkonsistensi umum.
Perangkat Android memeriksa akses jaringan dengan mengirimkan probe HTTP dan HTTPS secara bersamaan ke URL validasi tertentu. Keberhasilan probe yang tidak konsisten (misalnya, HTTP berhasil, tetapi HTTPS gagal) akan menghasilkan status konektivitas parsial, yang dapat mencegah tampilan otomatis aplikasi login.
Captive Portal API membuat deteksi lebih andal menggunakan perilaku deteksi berikut:
- Jika API melaporkan
"captive": true, sistem akan mengenali bahwa API tersebut berada di balik portal dan melewati probe standar untuk segera menampilkan antarmuka login. - Jika API melaporkan
"captive": false, sistem akan melanjutkan dengan pemeriksaan standar, yang mengharuskan pemeriksaan HTTP dan HTTPS berhasil sebelum mengonfirmasi akses internet penuh.