Les onglets personnalisés Android offrent une expérience de navigation complète, sécurisée et fluide directement dans le flux de connexion au réseau pour les portails captifs, tels que ceux que l'on trouve dans les aéroports, les hôtels et les avions. En intégrant le navigateur principal de l'utilisateur au processus d'authentification, les onglets personnalisés permettent d'utiliser des fonctionnalités avancées, y compris l'autocomplétion en un clic pour les identifiants et les paiements, le streaming protégé par DRM et une connectivité cohérente pour les utilisateurs disposant de fonctionnalités de sécurité telles que les VPN et le DNS privé. Pour en savoir plus sur les onglets personnalisés, consultez Présentation des onglets personnalisés Android.
Avantages par rapport à l'ancienne WebView
L'intégration du navigateur principal de l'utilisateur à l'aide d'onglets personnalisés résout plusieurs limites fonctionnelles inhérentes aux anciens flux d'authentification basés sur WebView pour les opérateurs réseau :
- Transactions simplifiées : l'interface est compatible avec la saisie automatique en un clic des identifiants et des informations de paiement enregistrées, ce qui réduit la saisie manuelle de données lors du processus de connexion. (Voir la figure 1.)
- Compatibilité multimédia : la plate-forme est compatible avec les contenus protégés par DRM (comme Widevine), ce qui permet de lire les flux vidéo chiffrés directement dans le portail. (Voir la figure 2.)
- Prise en charge des configurations de sécurité : les onglets personnalisés conservent la fonctionnalité du portail pour les appareils utilisant des VPN ou un DNS privé, des fonctionnalités de sécurité qui entraînent souvent l'échec des redirections de navigateur standard.
- Cohérence de l'interface : les onglets personnalisés s'intègrent directement au navigateur système, fournissant les mêmes outils fonctionnels et éléments d'UI que ceux disponibles dans une session de navigateur complète.
- Persistance en arrière-plan : le portail reste opérationnel en arrière-plan et sert de point d'accès permanent pendant toute la durée de la connexion.
Figure 1. Saisie manuelle (WebView) ou saisie automatique (onglets personnalisés).
Figure 2. Pas de vidéo (WebView) par rapport à la lecture de vidéo (onglets personnalisés).
Processus de découverte et de connexion des onglets personnalisés
Bien que les onglets personnalisés fournissent l'interface, l'API Captive Portal gère le flux d'intelligence de la découverte à la connexion :
- Découverte : le réseau annonce sa compatibilité avec les API à l'aide de l'option 114 du protocole DHCP.
- Interaction : l'appareil Android interroge le point de terminaison de l'API pour récupérer une charge utile JSON contenant l'état du réseau.
- Connexion : si la réponse JSON indique d'utiliser des onglets personnalisés, le système ouvre le portail dans un environnement de navigateur hautes performances au lieu d'une fenêtre système de base.
L'API Captive Portal permet aux appareils Android de détecter la présence d'un portail captif à l'aide du champ captive. L'API intègre d'autres champs tels que venue-info-url et seconds-remaining dans l'UI du système Android.
Figure 3. Découverte de l'API du portail captif pour le flux de connexion.
Activer les onglets personnalisés Android
Pour prendre en charge le flux d'onglets personnalisés, les opérateurs réseau doivent implémenter l'API Captive Portal et l'activer via la configuration JSON.
Conditions requises
Pour activer les onglets personnalisés pour la connexion au portail captif, vous devez effectuer les opérations suivantes :
- Appareil équipé d'Android 12 ou version ultérieure et compatible avec les mises à jour du système Google Play (voir Mainline) via le module Mainline
CaptivePortalLogin. - Compatibilité avec l'API Captive Portal (RFC 8908). Pour en savoir plus, consultez Assistance pour l'API du portail captif.
Activer les onglets personnalisés Android
Si votre réseau est déjà compatible avec l'API Captive Portal (RFC 8908), ajoutez la paire clé-valeur suivante à votre objet de réponse JSON existant pour activer le flux d'onglets personnalisés :
| Clé | Valeur | Description |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
Cette valeur représente le numéro de version du module principal de connexion au portail captif publié en janvier 2026. Les appareils dont la version de mise à jour du module est égale ou supérieure à celle-ci utilisent le flux de connexion des onglets personnalisés. |
Cet exemple d'objet JSON inclut tous les attributs de portail captif compatibles avec 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
}
Voici les attributs JSON disponibles pour le portail captif :
captive: définissez surtruesi l'authentification est requise, ou surfalsesi l'utilisateur est déjà en ligne.user-portal-url: URL de la page de connexion ou de paiement.venue-info-url: lien vers votre site pour obtenir des informations (par exemple, des détails sur les vols ou des cartes).seconds-remaining: indique le temps restant (en secondes) pendant lequel l'appareil devrait maintenir une connexion Internet.x-android-use-custom-tabs: contrôle si l'appareil utilise l'onglet personnalisé lorsqu'il est disponible.
Compatibilité avec l'API du portail captif
Si votre réseau n'est pas compatible avec l'API Captive Portal, suivez ces étapes pour activer l'API Captive Portal et le flux d'onglets personnalisés.
Mettez à jour la configuration de votre serveur DHCP pour inclure l'option DHCP 114.
Valeur : indiquez l'URL HTTPS complète du fichier JSON généré de manière dynamique qui contient les informations sur le portail captif (par exemple,
https://api.yourvenue.com/status).Résultat : lorsqu'un appareil Android rejoint le réseau, il interroge l'API fournie au lieu d'attendre une redirection du navigateur.
Configurez votre serveur d'API pour qu'il réponde à une requête HTTP GET à l'URL fournie avec un fichier JSON qui informe l'appareil de l'état actuel du portail.
Exigence HTTPS : votre serveur d'API doit utiliser un certificat HTTPS valide.
Solution de secours pour la sécurité : si le certificat n'est pas valide ou est autosigné, l'appareil revient à l'ancien comportement du portail captif.
Comportement de la détection de portail captif sur Android
L'API Captive Portal offre une alternative fiable aux sondes réseau Android standards pour détecter l'existence de portails captifs, en contournant les incohérences courantes.
Les appareils Android vérifient l'accès au réseau en envoyant simultanément des requêtes HTTP et HTTPS à des URL de validation spécifiques. Si les requêtes ne réussissent pas de manière cohérente (par exemple, si la requête HTTP réussit, mais que la requête HTTPS échoue), l'état de connectivité partielle est défini, ce qui peut empêcher l'affichage automatique de l'application de connexion.
L'API Captive Portal rend la détection plus fiable grâce au comportement de détection suivant :
- Si l'API renvoie
"captive": true, le système reconnaît qu'il se trouve derrière un portail et ignore les sondes standards pour afficher immédiatement l'interface de connexion. - Si l'API renvoie
"captive": false, le système procède à des vérifications standards, en exigeant que les vérifications HTTP et HTTPS réussissent avant de confirmer l'accès complet à Internet.