Le schede personalizzate di Android offrono un'esperienza di navigazione completa, sicura e senza interruzioni direttamente nel flusso di accesso alla rete per i captive portal, come quelli che si trovano in aeroporti, hotel e aerei. Integrando il browser principale dell'utente nel processo di autenticazione, le schede personalizzate consentono funzionalità avanzate, tra cui il completamento automatico con un solo tocco per credenziali e pagamenti, lo streaming protetto da DRM e una connettività coerente per gli utenti con funzionalità di sicurezza come VPN e DNS privato. Per saperne di più sulle schede personalizzate, consulta la panoramica delle schede personalizzate di Android.
Vantaggi rispetto a WebView legacy
L'integrazione del browser principale dell'utente tramite le schede personalizzate risolve diverse limitazioni funzionali inerenti ai flussi di autenticazione basati su WebView legacy per gli operatori di rete:
- Transazioni semplificate: l'interfaccia supporta la compilazione automatica con un solo tocco di credenziali e dati di pagamento memorizzati, riducendo l'immissione manuale dei dati durante la procedura di accesso. (Vedi la Figura 1).
- Compatibilità multimediale:la piattaforma supporta i contenuti protetti da DRM (come Widevine), consentendo la riproduzione di video stream criptati direttamente all'interno del portale. (Vedi la Figura 2).
- Supporto per le configurazioni di sicurezza:le schede personalizzate mantengono la funzionalità del portale per i dispositivi che utilizzano VPN o DNS privato, funzionalità di sicurezza che spesso causano errori nei reindirizzamenti del browser standard.
- Coerenza dell'interfaccia:le schede personalizzate si integrano direttamente con il browser di sistema, fornendo gli stessi strumenti funzionali e gli stessi elementi dell'interfaccia utente disponibili in una sessione completa del browser.
- Persistenza in background:il portale rimane operativo in background, fungendo da punto di accesso persistente per tutto il periodo di connessione.
Figura 1. Input manuale (WebView) e compilazione automatica (schede personalizzate).
Figura 2. Nessun video (WebView) rispetto alla riproduzione video (schede personalizzate).
Flusso di scoperta e connessione delle schede personalizzate
Mentre le schede personalizzate forniscono l'interfaccia, l'API Captive Portal gestisce il flusso intelligente dal rilevamento alla connessione:
- Rilevamento:la rete pubblicizza il supporto dell'API utilizzando l'opzione DHCP 114.
- Interazione:il dispositivo Android esegue una query sull'endpoint API per recuperare un payload JSON contenente lo stato della rete.
- Connessione:se la risposta JSON indica di utilizzare le schede personalizzate, il sistema apre il portale in un ambiente browser ad alte prestazioni anziché in una finestra di sistema di base.
L'API Captive Portal consente ai dispositivi Android di rilevare se esiste un captive portal
utilizzando il campo captive. L'API integra altri campi come
venue-info-url e seconds-remaining nell'interfaccia utente di sistema Android.
Figura 3. Rilevamento dell'API Captive portal al flusso di connessione.
Attivare le schede personalizzate di Android
Per supportare il flusso delle schede personalizzate, gli operatori di rete devono implementare l'API Captive Portal e attivare la funzionalità tramite la configurazione JSON.
Requisiti
L'attivazione delle schede personalizzate per l'accesso al captive portal richiede quanto segue:
- Dispositivo con Android 12 e versioni successive che supporta gli aggiornamenti di sistema Google Play (vedi Mainline) tramite il modulo Mainline
CaptivePortalLogin. - Supporto dell'API Captive Portal (RFC 8908). Per maggiori dettagli, vedi Supportare l'API Captive Portal.
Attivare le schede personalizzate di Android
Se la tua rete supporta già l'API Captive Portal (RFC 8908), aggiungi la seguente coppia chiave-valore all'oggetto risposta JSON esistente per attivare il flusso Schede personalizzate:
| Chiave | Valore | Descrizione |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
Questo valore rappresenta il numero di versione del modulo principale di accesso al captive portal rilasciato a gennaio 2026. I dispositivi con un aggiornamento del modulo uguale o più recente di questa versione utilizzano il flusso di accesso delle schede personalizzate. |
Questo oggetto JSON di esempio include tutti gli attributi del captive portal supportati da 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
}
Di seguito sono riportati gli attributi JSON del captive portal disponibili:
captive: imposta sutruese è richiesta l'autenticazione; imposta sufalsese l'utente è già online.user-portal-url: l'URL della pagina di accesso o di pagamento.venue-info-url: un link al tuo sito per informazioni (ad esempio, dettagli del volo o mappe).seconds-remaining: indica il tempo rimanente (in secondi) per cui il dispositivo dovrebbe mantenere una connessione a internet.x-android-use-custom-tabs: controlla se il dispositivo utilizza la scheda personalizzata quando è disponibile.
Supportare l'API Captive Portal
Se la tua rete non supporta l'API Captive Portal, segui questi passaggi per attivare l'API Captive Portal e il flusso delle schede personalizzate.
Aggiorna la configurazione del server DHCP in modo da includere l'opzione DHCP 114.
Valore: fornisci l'URL HTTPS completo del file JSON generato dinamicamente che contiene le informazioni sul captive portal (ad esempio,
https://api.yourvenue.com/status).Risultato:quando un dispositivo Android si connette alla rete, esegue una query sull'API fornita anziché attendere un reindirizzamento del browser.
Configura il server API in modo che risponda a una richiesta HTTP GET all'URL fornito con un file JSON che informa il dispositivo dello stato attuale del portale.
Requisito HTTPS:il server API deve utilizzare un certificato HTTPS valido.
Fallback di sicurezza: se il certificato non è valido o autofirmato, il dispositivo torna al comportamento legacy del captive portal.
Comportamento del rilevamento captive portal di Android
L'API Captive Portal fornisce un'alternativa affidabile ai probe di rete Android standard per rilevare l'esistenza di captive portal, aggirando le incongruenze comuni.
I dispositivi Android verificano l'accesso alla rete inviando probe HTTP e HTTPS simultanei a URL di convalida specifici. Un esito positivo incoerente del probe (ad esempio, HTTP ha esito positivo, ma HTTPS ha esito negativo) comporta uno stato di connettività parziale, che può impedire la visualizzazione automatica dell'app di accesso.
L'API Captive Portal rende il rilevamento più affidabile utilizzando il seguente comportamento di rilevamento:
- Se l'API segnala
"captive": true, il sistema riconosce che si trova dietro un portale e salta i probe standard per mostrare immediatamente l'interfaccia di accesso. - Se l'API restituisce
"captive": false, il sistema procede con i probe standard, richiedendo che i probe HTTP e HTTPS abbiano esito positivo prima di confermare l'accesso completo a internet.