API-Unterstützung im Captive Portal

Ab Android 11 Beta 2 unterstützt das System einen Teil der Funktionen, die durch RFC7710bis und die zugehörige Captive Portal API beschrieben werden.

Die API bietet eine zuverlässige Möglichkeit für Zugangspunkte, sich als Captive Portals zu identifizieren. Außerdem ermöglicht es neue Anwendungsfälle für Zugangspunkte, Informationen für Nutzer zu veröffentlichen, z. B. Sitzungs- und Ortsinformationen.

Verbesserte Erkennung von Captive Portals

Seit Android 5.0 (API-Level 21) haben Android-Geräte Captive Portale erkannt und den Nutzer darüber informiert, dass er sich im Netzwerk anmelden muss, um auf das Internet zugreifen zu können. Captive Portals wurden mithilfe von Klartext-HTTP-Prüfungen zu bekannten Zielen (z. B. connectivitycheck.gstatic.com) erkannt. Wenn die Prüfung eine HTTP-Weiterleitung empfing, nahm das Gerät an, dass das Netzwerk ein Captive Portal war. Diese Technik kann unzuverlässig sein, da es keine Standard-URL gibt, die geprüft werden muss, und solche Prüfungen könnten fälschlicherweise durch Captive-Portal-Netzwerke zugelassen oder blockiert (anstatt weitergeleitet) werden. Mit der API können Portale ein positives Signal dafür geben, dass eine Anmeldung erforderlich ist, zusammen mit einer URL für die Anmeldung.

Android 11 unterstützt die DHCP-Option 114, wie in RFC7710bis beschrieben. In einem zukünftigen Update wird die Router-Werbeoption möglicherweise unterstützt. Wenn das Gerät während des DHCP-Handshakes über diese Option eine Captive Portal API-URL erhält, rufen die Geräte die API-Inhalte sofort nach dem Verbinden ab und fordern Nutzer auf, sich anzumelden, wenn das Netzwerk Captive API ist.

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

Am Veranstaltungsort veröffentlichte Informationen

Android 11 unterstützt die in der Captive Portal API definierte venue-info-url. Mit dieser URL können Nutzer kontextspezifische Informationen über den Ort des Zugangspunkts in ihrem Browser abrufen. Standardmäßig können Nutzer diese URL über eine Benachrichtigung nach der Anmeldung oder in ihren Netzwerkeinstellungen öffnen.

Screenshot mit dem Pop-up, über das der Nutzer die URL des Veranstaltungsorts aufrufen kann
Abbildung 1: Wenn das Netzwerk die URL eines Veranstaltungsorts bereitstellt, wird ein Hinweis eingeblendet, über den der Nutzer die Seite besuchen kann.

Screenshot zum Öffnen der Website über den Bildschirm „Netzwerkdetails“
Abbildung 2: Schaltfläche zum Öffnen der Website über den Bildschirm „Netzwerkdetails“

Zukünftige Anwendungsfälle

Während Android 11 bei der Markteinführung nur einen grundlegenden Funktionsumfang der Captive Portal API unterstützt, können neue Funktionen nach der Markteinführung über Google Play-Systemupdates an Geräte zur Verfügung gestellt werden. Wir empfehlen Netzwerkbetreibern, die Captive Portal API zu implementieren und gleichzeitig mögliche Verbesserungen zu berücksichtigen:

  • Die Sitzungsdauer (seconds-remaining) wird derzeit in der standardmäßigen App Einstellungen verwendet, um Nutzer darüber zu informieren, wie viel Zeit im Portal noch übrig ist. Die Möglichkeit, die Sitzung über die Anmelde-URL (can-extend-session) zu erweitern, kann auch über die API ausgedrückt werden, damit das System den Nutzer über abgelaufene oder bald ablaufende Sitzungen informieren kann.
  • Datenbegrenzungen (bytes-remaining) können über die API beworben werden, damit Nutzer den Überblick über verbleibende Daten behalten können.