Le schede personalizzate Android offrono un'esperienza di navigazione completa, sicura e fluida 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 tocco per credenziali e pagamenti, lo streaming protetto da DRM e la connettività coerente per gli utenti con funzionalità di sicurezza come VPN e DNS privato. Per ulteriori informazioni sulle schede personalizzate, consulta la panoramica delle schede personalizzate 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 il completamento automatico con un tocco per le credenziali e i dati di pagamento memorizzati, riducendo l'inserimento manuale dei dati durante la procedura di accesso. (Vedi Figura 1.)
- Compatibilità con i contenuti multimediali: la piattaforma supporta i contenuti protetti da DRM (ad esempio Widevine), consentendo la riproduzione di stream video criptati direttamente all'interno del portale. (Vedi 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 il fallimento dei 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 del browser completa.
- Persistenza in background: il portale rimane operativo in background, fungendo da punto di accesso persistente per tutto il periodo di connessione.
Figura 1. Inserimento manuale (WebView) rispetto al completamento automatico (schede personalizzate).
Figura 2. Nessun video (WebView) rispetto alla riproduzione video (schede personalizzate).
Flusso di rilevamento e connessione delle schede personalizzate
Sebbene le schede personalizzate forniscano l'interfaccia, l'API Captive Portal gestisce il flusso di intelligence 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 del sistema Android.
Figura 3. Flusso di rilevamento e connessione dell'API Captive Portal.
Attivare le schede personalizzate Android
Per supportare il flusso delle schede personalizzate, gli operatori di rete devono implementare l'API Captive Portal e attivare l'opzione tramite la configurazione JSON.
Requisiti
Per attivare le schede personalizzate per l'accesso al captive portal, sono necessari i seguenti elementi:
- Dispositivo con Android 12 e versioni successive che supporta gli aggiornamenti di sistema di Google Play (vedi Mainline) tramite il modulo Mainline
CaptivePortalLogin. - Supporto per l'API Captive Portal (RFC 8908). Per i dettagli, vedi Supportare l'API Captive Portal.
Attivare le schede personalizzate Android
Se la tua rete supporta già l'API Captive Portal (RFC 8908), aggiungi la seguente coppia chiave-valore all'oggetto di risposta JSON esistente per attivare il flusso delle schede personalizzate:
| Chiave | Valore | Descrizione |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
Questo valore rappresenta il numero di versione del modulo Mainline 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 del captive portal JSON disponibili:
captive: impostalo sutruese è richiesta l'autenticazione; impostalo 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 del 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 sullo 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 del captive portal legacy.
Comportamento di rilevamento del captive portal 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. Il successo incoerente dei 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 segnala
"captive": false, il sistema procede con i probe standard, richiedendo che entrambi i probe HTTP e HTTPS abbiano esito positivo prima di confermare l'accesso completo a internet.
Feedback
Per fornire feedback, inviaci un'email all'indirizzo android-cct@google.com. Siamo liberi di utilizzare il tuo feedback per creare e migliorare i nostri prodotti e le nostre funzionalità a vantaggio di tutti.