Supporto API captive portal

A partire da Android 11 Beta 2, il sistema supporta un sottoinsieme di funzionalità descritte da RFC7710bis e dall'API captive portal associata.

L'API fornisce un modo affidabile per i punti di accesso di identificarsi come captive portal. Consente inoltre nuovi casi d'uso per i punti di accesso per pubblicare informazioni per i propri utenti, ad esempio informazioni su sessioni e sedi.

Miglioramento del rilevamento di captive portal

A partire da Android 5.0 (livello API 21), i dispositivi Android rilevano i captive portal e avvisano l'utente che deve accedere alla rete per accedere a internet. I captive portal sono stati rilevati utilizzando probe HTTP in testo normale verso destinazioni note (ad esempio connectivitycheck.gstatic.com) e, se il probe ha ricevuto un reindirizzamento HTTP, il dispositivo ha presupposto che la rete fosse un captive portal. Questa tecnica può essere inaffidabile perché non esiste un URL standard da testare e questi test potrebbero essere erroneamente consentiti o bloccati (anziché reindirizzati) dalle reti di captive portal. L'API consente ai portali di fornire un segnale positivo che indica che è necessario l'accesso, insieme a un URL per accedere.

Android 11 supporta l'opzione DHCP 114 come descritto in RFC7710bis. Potremmo aggiungere il supporto per l'opzione di pubblicità del router in un aggiornamento futuro. Se il dispositivo riceve un URL API captive portal tramite questa opzione durante l'handshake DHCP, i dispositivi recuperano i contenuti dell'API immediatamente dopo la connessione e chiedono agli utenti di accedere se la rete è captive, come previsto dall'API captive portal.

Se l'API non è disponibile o se non viene pubblicizzato alcun portale, il sistema continuerà a rilevare i portali e a verificare la connettività a internet utilizzando i probe HTTP/HTTPS, come in precedenza.

Informazioni pubblicate dalla sede

Android 11 supporta venue-info-url definito nell'API captive portal. Questo URL consente agli utenti di ottenere informazioni specifiche per il contesto sul luogo del punto di accesso nel browser. Per impostazione predefinita, gli utenti possono aprire questo URL se lo desiderano da una notifica dopo aver eseguito l'accesso o dalle impostazioni di rete.

Screenshot che mostra il popup che consente all'utente di visitare l'URL
del luogo
Figura 1. Se l'emittente fornisce un URL della sede, il sistema visualizza una notifica che consente all'utente di visitare la pagina

Screenshot che mostra come aprire il sito dalla schermata Dettagli rete
Figura 2. Pulsante per aprire il sito dalla schermata dei dettagli della rete

Casi d'uso futuri

Al momento del lancio, Android 11 supporta solo un insieme di base di funzionalità dell'API captive portal, ma nuove funzionalità potrebbero essere fornite ai dispositivi tramite gli aggiornamenti di sistema Google Play dopo il lancio. Invitiamo gli operatori di rete a implementare l'API captive portal tenendo presente i possibili miglioramenti futuri:

  • Il tempo della sessione (seconds-remaining) viene attualmente utilizzato nell'app Impostazioni predefinita per informare gli utenti sul tempo rimanente sul portale. La possibilità di estendere la sessione tramite l'URL di accesso (can-extend-session) può essere espressa anche tramite l'API per consentire al sistema di notificare all'utente le sessioni scadute o in scadenza.
  • I limiti di dati (bytes-remaining) possono essere pubblicizzati tramite l'API per consentire agli utenti di tenere traccia dei dati rimanenti.