Android-Benutzer können mit benutzerdefinierten Tabs direkt im Netzwerk-Anmeldevorgang für Captive Portals, wie sie an Flughäfen, in Hotels und in Flugzeugen zu finden sind, einen voll funktionsfähigen, sicheren und nahtlosen Browser nutzen. Durch die Einbindung des primären Browsers des Nutzers in den Authentifizierungsprozess ermöglichen benutzerdefinierte Tabs erweiterte Funktionen wie das automatische Ausfüllen von Anmeldedaten und Zahlungen mit nur einem Fingertipp, DRM-geschütztes Streaming und eine konsistente Verbindung für Nutzer mit Sicherheitsfunktionen wie VPNs und Private DNS. Weitere Informationen zu benutzerdefinierten Tabs finden Sie unter Übersicht über benutzerdefinierte Tabs in Android.
Vorteile gegenüber der alten WebView-Implementierung
Durch die Integration des primären Browsers des Nutzers über benutzerdefinierte Tabs werden mehrere funktionale Einschränkungen behoben, die bei älteren WebView-basierten Authentifizierungsabläufen für Netzbetreiber auftreten:
- Optimierte Transaktionen:Die Benutzeroberfläche unterstützt das automatische Ausfüllen von Anmeldedaten und gespeicherten Zahlungsinformationen mit nur einem Fingertipp. So wird die manuelle Dateneingabe während des Anmeldevorgangs reduziert. (Siehe Abbildung 1.)
- Medienkompatibilität:Die Plattform unterstützt DRM-geschützte Inhalte (z. B. Widevine), sodass verschlüsselte Videostreams direkt im Portal wiedergegeben werden können. (Siehe Abbildung 2.)
- Unterstützung für Sicherheitskonfigurationen:Benutzerdefinierte Tabs bieten weiterhin Portalfunktionen für Geräte, die VPNs oder private DNS-Server verwenden. Diese Sicherheitsfunktionen führen häufig dazu, dass Standardbrowserweiterleitungen fehlschlagen.
- Konsistenz der Benutzeroberfläche:Benutzerdefinierte Tabs werden direkt in den Systembrowser eingebunden und bieten dieselben funktionalen Tools und UI-Elemente wie in einer vollständigen Browsersitzung.
- Hintergrundpersistenz:Das Portal bleibt im Hintergrund aktiv und dient während des gesamten Verbindungszeitraums als persistenter Zugriffspunkt.
Abbildung 1: Manuelle Eingabe (WebView) im Vergleich zum automatischen Ausfüllen (benutzerdefinierte Tabs)
Abbildung 2: Kein Video (WebView) im Vergleich zur Videowiedergabe (benutzerdefinierte Tabs)
Benutzerdefinierte Tabs – Erkennungs- und Verbindungsablauf
Benutzerdefinierte Tabs stellen die Schnittstelle bereit, während die Captive Portal API den intelligenten Ablauf von der Erkennung bis zur Verbindung verwaltet:
- Erkennung:Das Netzwerk gibt seine API-Unterstützung über DHCP-Option 114 bekannt.
- Interaktion:Das Android-Gerät fragt den API-Endpunkt ab, um eine JSON-Nutzlast mit dem Netzwerkstatus abzurufen.
- Verbindung:Wenn die JSON-Antwort signalisiert, dass benutzerdefinierte Tabs verwendet werden sollen, öffnet das System das Portal in einer leistungsstarken Browserumgebung anstelle eines einfachen Systemfensters.
Mit der Captive Portal API können Android-Geräte mithilfe des Felds captive erkennen, ob ein Captive Portal vorhanden ist. Die API integriert andere Felder wie venue-info-url und seconds-remaining in die Android-System-UI.
Abbildung 3: Captive Portal API-Erkennung für den Verbindungsablauf.
Benutzerdefinierte Tabs in Android aktivieren
Um den Ablauf für benutzerdefinierte Tabs zu unterstützen, müssen Netzbetreiber die Captive Portal API implementieren und sich über die JSON-Konfiguration anmelden.
Voraussetzungen
Wenn Sie benutzerdefinierte Tabs für die Anmeldung über Captive Portale aktivieren möchten, müssen folgende Voraussetzungen erfüllt sein:
- Gerät mit Android 12 oder höher, das Google Play-Systemupdates (siehe Mainline) über das Mainline-Modul
CaptivePortalLoginunterstützt. - Unterstützung für die Captive Portal API (RFC 8908). Weitere Informationen finden Sie unter Captive Portal API unterstützen.
Benutzerdefinierte Chrome-Tabs für Android aktivieren
Wenn Ihr Netzwerk die Captive Portal API (RFC 8908) bereits unterstützt, fügen Sie das folgende Schlüssel/Wert-Paar Ihrem vorhandenen JSON-Antwortobjekt hinzu, um den Custom Tabs-Ablauf zu aktivieren:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
Dieser Wert steht für die Versionsnummer des Mainline-Moduls „Captive Portal Login“, das im Januar 2026 veröffentlicht wurde. Auf Geräten mit einem Modulupdate, das dieser Version entspricht oder neuer ist, wird der Anmeldevorgang über benutzerdefinierte Tabs verwendet. |
Dieses Beispiel-JSON-Objekt enthält alle Captive Portal-Attribute, die von Android unterstützt werden:
{
"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
}
Die folgenden JSON-Attribute für Captive Portals sind verfügbar:
captive: Auftruesetzen, wenn eine Authentifizierung erforderlich ist; auffalsesetzen, wenn der Nutzer bereits online ist.user-portal-url: Die URL der Anmelde- oder Zahlungsseite.venue-info-url: Ein Link zu Ihrer Website mit Informationen (z. B. Flugdetails oder Karten).seconds-remaining: Gibt die verbleibende Zeit in Sekunden an, in der das Gerät voraussichtlich eine Internetverbindung aufrechterhält.x-android-use-custom-tabs: Steuert, ob das Gerät den benutzerdefinierten Tab verwendet, sofern verfügbar.
Unterstützung der Captive Portal API
Wenn Ihr Netzwerk die Captive Portal API nicht unterstützt, gehen Sie so vor, um die Captive Portal API und den Custom Tabs-Ablauf zu aktivieren.
Aktualisieren Sie die Konfiguration Ihres DHCP-Servers, um DHCP-Option 114 einzuschließen.
Wert:Geben Sie die vollständige HTTPS-URL der dynamisch generierten JSON-Datei an, die Informationen zum Captive Portal enthält (z. B.
https://api.yourvenue.com/status).Ergebnis:Wenn ein Android-Gerät dem Netzwerk beitritt, wird die bereitgestellte API abgefragt, anstatt auf eine Browserweiterleitung zu warten.
Konfigurieren Sie Ihren API-Server so, dass er auf eine HTTP-GET-Anfrage unter der angegebenen URL mit einer JSON-Datei antwortet, die das Gerät über den aktuellen Status des Portals informiert.
HTTPS-Anforderung:Auf Ihrem API-Server muss ein gültiges HTTPS-Zertifikat verwendet werden.
Sicherheits-Fallback:Wenn das Zertifikat ungültig oder selbstsigniert ist, greift das Gerät auf das alte Captive Portal-Verhalten zurück.
Verhalten der Captive Portal-Erkennung unter Android
Die Captive Portal API bietet eine zuverlässige Alternative zu standardmäßigen Android-Netzwerktests zum Erkennen von Captive Portals und umgeht häufige Inkonsistenzen.
Android-Geräte prüfen den Netzwerkzugriff, indem sie gleichzeitig HTTP- und HTTPS-Probes an bestimmte Validierungs-URLs senden. Ein inkonsistenter Probe-Erfolg (z. B. HTTP erfolgreich, aber HTTPS fehlgeschlagen) führt zu einem Status Teilweise Verbindung, der die automatische Anzeige der Anmelde-App verhindern kann.
Die Captive Portal API macht die Erkennung durch das folgende Erkennungsverhalten zuverlässiger:
- Wenn die API
"captive": truemeldet, erkennt das System, dass sich die Seite hinter einem Portal befindet, und überspringt die Standardtests, um sofort die Anmeldeschnittstelle anzuzeigen. - Wenn die API
"captive": falsemeldet, führt das System Standardprüfungen durch. Dazu müssen sowohl HTTP- als auch HTTPS-Prüfungen erfolgreich sein, bevor der vollständige Internetzugriff bestätigt wird.