Supporto dell'API Captive Portal

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

L'API fornisce ai punti di accesso un modo affidabile per identificarsi come captive portal. Consente inoltre nuovi casi d'uso per i punti di accesso di pubblicare informazioni per i loro utenti, ad esempio informazioni sulle sessioni e sui luoghi.

Miglioramento del rilevamento tramite captive portal

A partire da Android 5.0 (livello API 21), i dispositivi Android hanno rilevato i captive portal e hanno informato l'utente della necessità di accedere alla rete per accedere a internet. I captive portal sono stati rilevati utilizzando probe HTTP con testo in chiaro verso destinazioni note (come connectivitycheck.gstatic.com) e, se il probe riceveva un reindirizzamento HTTP, il dispositivo presumeva che la rete fosse un captive portal. Questa tecnica potrebbe essere inaffidabile perché non esiste un URL standard da verificare e questi probe potrebbero essere consentiti o bloccati per errore (anziché reindirizzare) dalle reti captive portal. L'API consente ai portali di fornire un segnale positivo che indica che è necessario eseguire l'accesso, insieme a un URL a cui accedere.

Android 11 supporta l'opzione DHCP 114, come descritto in RFC7710bis. Potremmo aggiungere il supporto per l'opzione pubblicitaria del router in un aggiornamento futuro. Se il dispositivo riceve un URL dell'API captive portal tramite quell'opzione durante l'handshake DHCP, i dispositivi recuperano i contenuti dell'API subito dopo la connessione e chiedono agli utenti di accedere se la rete è captive, in base all'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 probe HTTP/HTTPS, come in precedenza.

Informazioni pubblicate sulla sede

Android 11 supporta il criterio venue-info-url definito nell'API captive portal. Questo URL consente agli utenti di ottenere informazioni specifiche del contesto sulla sede del punto di accesso nel proprio browser. Per impostazione predefinita, gli utenti possono aprire questo URL se scelgono di farlo 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 della sede
Figura 1. Se la rete fornisce un URL del luogo, 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 Dettagli rete

Casi d'uso futuri

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

  • Il tempo della sessione (seconds-remaining) è 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 a breve.
  • I limiti di dati (bytes-remaining) possono essere pubblicizzati tramite l'API per consentire agli utenti di tenere traccia dei dati rimanenti.