Supporto API captive portal

A partire dalla versione beta 2 di Android 11, il sistema supporta un sottoinsieme di funzionalità descritte da RFC7710bis e dall'API per i portali captive associata.

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

Rilevamento di captive portal migliorato

A partire da Android 5.0 (livello API 21), i dispositivi Android hanno rilevato i captive portal e hanno comunicato all'utente che deve accedere alla rete per accedere a internet. I captive portal sono stati rilevati utilizzando probe HTTP in testo non cifrato verso destinazioni note (ad esempio connectivitycheck.gstatic.com). Se il probe ha ricevuto un reindirizzamento HTTP, il dispositivo ha presunto che la rete fosse un captive portal. Questa tecnica può essere inaffidabile perché non esiste un URL standard da esaminare e queste prove potrebbero essere erroneamente consentite o bloccate (anziché reindirizzate) dalle reti di portali captive. L'API consente ai portali di fornire un segnale positivo che indica che è necessario accedere, 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 di pubblicità del router in un aggiornamento futuro. Se il dispositivo riceve un URL dell'API captive portal tramite questa opzione durante il handshake DHCP, recupera i contenuti dell'API immediatamente dopo la connessione e chiede agli utenti di accedere se la rete è captive, come da API captive portal.

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

Informazioni pubblicate dal luogo

Android 11 supporta venue-info-url definito nell'API del portale captive. Questo URL consente agli utenti di ottenere informazioni specifiche sul contesto relative al punto di accesso nel 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 del luogo
Figura 1. Se la rete fornisce un URL del luogo, il sistema mostra una notifica che consente all'utente di visitare la pagina

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

Casi d'uso futuri

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

  • Il tempo di sessione (seconds-remaining) è attualmente utilizzato nell'app predefinita Impostazioni per informare gli utenti sul tempo rimanente nel 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 inviare all'utente una notifica relativa alle sessioni scadute o in procinto di scadere.
  • I limiti di dati (bytes-remaining) possono essere pubblicizzati tramite l'API per consentire agli utenti di monitorare i dati rimanenti.