Obsługa interfejsu API portalu przechwytującego

Od wersji beta 2 Androida 11 system obsługuje podzbiór funkcji opisanych w RFC7710bis i powiązanym interfejsie API portalu przechwytującego.

Interfejs API zapewnia niezawodny sposób identyfikowania punktów dostępu jako portali przechwytujących. Umożliwia to również nowe przypadki użycia punktów dostępu do publikowania informacji dla użytkowników, takich jak informacje o sesji i miejscu.

Ulepszone wykrywanie portalu przechwytującego

Od Androida 5.0 (interfejs API na poziomie 21) urządzenia z Androidem wykrywają portale przechwytujące i informują użytkownika, że musi zalogować się w sieci, aby uzyskać dostęp do internetu. Portale przechwytujące były wykrywane za pomocą sond HTTP w formie zwykłego tekstu wysyłanych do znanych miejsc docelowych (np. connectivitycheck.gstatic.com). Jeśli sonda otrzymała przekierowanie HTTP, urządzenie zakładało, że sieć jest portalem przechwytującym. Ta technika może być zawodna, ponieważ nie ma standardowego adresu URL do sondowania, a takie sondy mogą być błędnie dozwolone lub blokowane (zamiast przekierowywane) przez sieci z portalem uwierzytelniającym. Interfejs API umożliwia portalom wysyłanie pozytywnego sygnału, że wymagane jest logowanie, wraz z adresem URL, pod którym można się zalogować.

Android 11 obsługuje opcję DHCP 114 zgodnie z opisem w RFC7710bis. W przyszłości możemy dodać obsługę opcji reklamowania routera. Jeśli urządzenie otrzyma adres URL interfejsu API portalu przechwytującego w ramach tej opcji podczas uzgadniania DHCP, pobierze zawartość interfejsu API natychmiast po połączeniu i poprosi użytkowników o zalogowanie się, jeśli sieć jest przechwytująca, zgodnie z interfejsem API portalu przechwytującego.

Jeśli interfejs API jest niedostępny lub nie ma reklamowanego portalu, system będzie nadal wykrywać portale i weryfikować połączenie z internetem za pomocą sond HTTP/HTTPS, tak jak wcześniej.

Informacje opublikowane przez miejsce

Android 11 obsługuje venue-info-url zdefiniowane w interfejsie API portalu przechwytującego. Ten adres URL umożliwia użytkownikom uzyskanie w przeglądarce informacji o miejscu, w którym znajduje się punkt dostępu. Domyślnie użytkownicy mogą otworzyć ten adres URL, jeśli po zalogowaniu wybiorą taką opcję w powiadomieniu lub w ustawieniach sieci.

Zrzut ekranu przedstawiający wyskakujące okienko umożliwiające użytkownikowi przejście do adresu URL miejsca
Rysunek 1. Jeśli sieć udostępnia adres URL miejsca, system wyświetla powiadomienie, które umożliwia użytkownikowi przejście na tę stronę.

Zrzut ekranu pokazujący, jak otworzyć witrynę na ekranie Szczegóły sieci
Rysunek 2. Przycisk otwierający witrynę na ekranie szczegółów sieci

Przyszłe przypadki użycia

W momencie wprowadzenia Android 11 obsługuje tylko podstawowy zestaw funkcji interfejsu API portalu przechwytującego, ale po wprowadzeniu systemu na rynek nowe funkcje mogą być dostarczane na urządzenia za pomocą aktualizacji systemu Google Play. Zachęcamy operatorów sieci do wdrożenia interfejsu API portalu przechwytującego, pamiętając o możliwych przyszłych ulepszeniach:

  • Czas sesji (seconds-remaining) jest obecnie używany w domyślnej aplikacji Ustawienia, aby informować użytkowników o tym, ile czasu pozostało w portalu. Możliwość przedłużenia sesji za pomocą adresu URL logowania (can-extend-session) można też wyrazić za pomocą interfejsu API, aby umożliwić systemowi powiadamianie użytkownika o sesjach, które wygasły lub wkrótce wygasną.
  • Limity danych (bytes-remaining) mogą być reklamowane za pomocą interfejsu API, aby użytkownicy mogli śledzić pozostałe dane.