Dukungan captive portal API

Mulai Android 11 Beta 2, sistem mendukung subset fungsi yang dijelaskan oleh RFC7710bis dan API captive portal terkait.

API menyediakan cara yang dapat diandalkan bagi titik akses untuk mengidentifikasi diri sebagai captive portal. Hal ini juga memungkinkan kasus penggunaan baru bagi titik akses untuk memublikasikan informasi kepada penggunanya, seperti informasi sesi dan tempat.

Penyempurnaan deteksi captive portal

Sejak Android 5.0 (API level 21), perangkat Android telah mendeteksi captive portal dan memberi tahu pengguna bahwa mereka harus masuk ke jaringan untuk mengakses internet. Captive portal dideteksi menggunakan pemeriksaan HTTP cleartext untuk tujuan yang diketahui (seperti connectivitycheck.gstatic.com), dan jika pemeriksaan menerima pengalihan HTTP, perangkat menganggap bahwa jaringan tersebut adalah captive portal. Teknik ini mungkin tidak dapat diandalkan karena tidak ada URL standar untuk pemeriksaan, dan pemeriksaan tersebut mungkin keliru diizinkan atau diblokir (bukan dialihkan) oleh jaringan captive portal. API memungkinkan portal untuk memberikan sinyal positif bahwa login diperlukan, beserta URL untuk login.

Android 11 mendukung opsi 114 seperti yang dijelaskan di RFC7710bis Kami mungkin menambah dukungan untuk opsi penerapan router di update mendatang. Jika perangkat mendapat URL API captive portal melalui opsi tersebut selama handshake DHCP, perangkat akan mengambil konten API segera setelah tersambung dan meminta pengguna untuk login jika jaringan adalah captive, sesuai API captive portal.

Jika API tidak tersedia, atau jika tidak ada portal yang diterapkan, sistem akan terus mendeteksi portal dan memverifikasi konektivitas internet menggunakan pemeriksaan HTTP/HTTPS, seperti sebelumnya.

Informasi yang dipublikasikan oleh tempat

Android 11 mendukung venue-info-url yang ditentukan di captive portal API. URL ini memungkinkan pengguna mendapatkan informasi spesifik konteks tentang tempat titik akses di browser mereka. Secara default, pengguna dapat membuka URL ini jika mereka memilih untuk melakukannya dari notifikasi setelah login, atau dari setelan jaringan.

Screenshot yang menampilkan pop-up yang memungkinkan pengguna mengunjungi URL
tempat
Gambar 1. Jika jaringan menyediakan URL tempat, sistem akan memunculkan pemberitahuan yang memungkinkan pengguna mengunjungi halaman tersebut

Screenshot yang menunjukkan cara membuka situs dari layar detail
Jaringan
Gambar 2. Tombol untuk membuka situs dari layar detail Jaringan

Kasus penggunaan mendatang

Meskipun saat peluncuran Android 11 hanya mendukung kumpulan fungsi dasar dari API captive portal, fungsi baru dapat dikirimkan ke perangkat melalui update sistem Google Play setelah peluncuran. Kami mendorong operator jaringan untuk menerapkan API captive portal sambil tetap mempertimbangkan kemungkinan peningkatan di masa mendatang:

  • Waktu sesi (seconds-remaining) saat ini digunakan di aplikasi Setelan default untuk memberi tahu pengguna tentang berapa banyak waktu yang tersisa di portal. Kemampuan untuk memperpanjang sesi melalui URL login (can-extend-session) juga dapat dinyatakan melalui API agar sistem dapat memberi tahu pengguna tentang sesi yang sudah berakhir atau yang akan segera berakhir.
  • Pembatasan data (bytes-remaining) dapat diterapkan melalui API agar pengguna dapat memantau data yang tersisa.