API-Unterstützung für Captive Portal

Ab Android 11 Beta 2 unterstützt das System einen Teil der Funktionen, die in RFC 7710bis und der zugehörigen Captive-Portal-API beschrieben sind.

Die API bietet eine zuverlässige Möglichkeit für Zugangspunkte, sich als Captive Portals zu identifizieren. Außerdem können Zugangspunkte damit neue Anwendungsfälle nutzen, um Informationen für ihre Nutzer zu veröffentlichen, z. B. zu Sitzungen und Veranstaltungsorten.

Verbesserte Captive Portal-Erkennung

Seit Android 5.0 (API-Ebene 21) erkennen Android-Geräte Captive Portals und benachrichtigen den Nutzer, dass er sich im Netzwerk anmelden muss, um auf das Internet zugreifen zu können. Captive Portals wurden mithilfe von Klartext-HTTP-Sonden zu bekannten Zielen (z. B. connectivitycheck.gstatic.com) erkannt. Wenn die Sonde eine HTTP-Weiterleitung erhielt, ging das Gerät davon aus, dass es sich bei dem Netzwerk um ein Captive Portal handelt. Diese Methode kann unzuverlässig sein, da es keine Standard-URL zum Testen gibt. Außerdem können solche Tests von Captive-Portal-Netzwerken fälschlicherweise zugelassen oder blockiert (anstelle von weitergeleitet) werden. Über die API können Portale ein positives Signal geben, dass eine Anmeldung erforderlich ist, und eine URL für die Anmeldung angeben.

Android 11 unterstützt die DHCP-Option 114 gemäß RFC 7710bis. Möglicherweise wird die Option für Routerwerbung in einem zukünftigen Update hinzugefügt. Wenn das Gerät während des DHCP-Handshakes über diese Option eine Captive Portal API-URL erhält, rufen die Geräte den API-Inhalt sofort nach der Verbindung ab und fordern die Nutzer auf, sich anzumelden, wenn das Netzwerk gemäß der Captive Portal API ein Captive Portal ist.

Wenn die API nicht verfügbar ist oder kein Portal beworben wird, erkennt das System weiterhin Portale und prüft die Internetverbindung wie bisher mithilfe von HTTP-/HTTPS-Sonden.

Vom Veranstaltungsort veröffentlichte Informationen

Android 11 unterstützt die in der Captive Portal API definierte venue-info-url. Über diese URL können Nutzer in ihrem Browser kontextspezifische Informationen zum Standort des Zugangspunkts abrufen. Standardmäßig können Nutzer diese URL öffnen, wenn sie dies nach der Anmeldung über eine Benachrichtigung oder über ihre Netzwerkeinstellungen tun.

Screenshot des Pop-ups, über das der Nutzer die URL des Veranstaltungsorts aufrufen kann
Abbildung 1: Wenn das Netzwerk eine URL für die Örtlichkeit angibt, wird vom System eine Benachrichtigung angezeigt, über die der Nutzer diese Seite aufrufen kann.

Screenshot, der zeigt, wie die Website über den Bildschirm „Netzwerkdetails“ geöffnet wird
Abbildung 2: Schaltfläche zum Öffnen der Website auf dem Bildschirm „Netzwerkdetails“

Künftige Anwendungsfälle

Bei der Einführung unterstützt Android 11 nur eine grundlegende Reihe von Funktionen der Captive Portal API. Nach der Einführung können neue Funktionen über Google Play-Systemupdates auf Geräten bereitgestellt werden. Wir empfehlen Netzwerkbetreibern, die Captive Portal API zu implementieren und dabei mögliche zukünftige Verbesserungen zu berücksichtigen:

  • Die Sitzungsdauer (seconds-remaining) wird derzeit in der Standard-App Einstellungen verwendet, um Nutzer darüber zu informieren, wie viel Zeit im Portal noch verbleibt. Die Möglichkeit, die Sitzung über die Anmelde-URL (can-extend-session) zu verlängern, kann auch über die API angegeben werden, damit das System den Nutzer über abgelaufene oder bald ablaufende Sitzungen benachrichtigen kann.
  • Datenlimits (bytes-remaining) können über die API beworben werden, damit Nutzer den Überblick über die verbleibenden Daten behalten können.