Webkit

Pracuj z nowoczesnymi interfejsami WebView API na Androidzie 5 i nowszych.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
13 listopada 2024 r. 1.9.0 - - 1.13.0-alpha01

Deklarowanie zależności

Aby dodać zależność od Webkit, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Odlotowe

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.13

Wersja 1.13.0-alpha01

13 listopada 2024 r.

androidx.webkit:webkit:1.13.0-alpha01 został zwolniony. Wersja 1.13.0-alpha01 zawiera te komity.

Nowe funkcje

  • Dodano eksperymentalny interfejs API WebView do asynchronicznego uruchamiania. (I94b8a)
  • Wstępne pobieranie adresów URL w profilu: wprowadziliśmy nowy interfejs API w profilu, aby umożliwić programistom uruchamianie wstępnego pobierania adresów URL. Czyszczenie danych pobieranych z poziomu pamięci podręcznej: dodano interfejs API do czyszczenia trwających pobieranych z poziomu pamięci podręcznej. (I42c5c)

Zmiany w interfejsie API

  • Wycofaj WebView.startSafeBrowsing. (If5626)

Wersja 1.12

Wersja 1.12.1

2 października 2024 r.

androidx.webkit:webkit:1.12.1 został zwolniony. Wersja 1.12.1 zawiera te komity.

Poprawki błędów

  • Rozwiązanie problemu, który uniemożliwiał udostępnienie interfejsów API w wersji 1.12.0.

Wersja 1.12.0

18 września 2024 r.

androidx.webkit:webkit:1.12.0 został zwolniony. Wersja 1.12.0 zawiera te komisy.

Ważne zmiany od wersji 1.11.0

  • Dodaj nowy interfejs API do WebSettingsCompat, aby włączyć lub wyłączyć BackForwardCache dla tego WebSettings. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (aosp/3111705)
  • Dodaj do WebSettingsCompat nowy interfejs API, aby kontrolować zachowanie wczytywania spekulacyjnego w przypadku tego WebSettings. Obecnie dostępna jest tylko opcja Przedrenderowania. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (I13962)
  • Dodano nowy interfejs API, aby umożliwić uwierzytelnianie w witrynie w usłudze WebView. Deweloperzy mogą włączać i wyłączać wywołania WebAuthn w swoich aplikacjach w ramach WebView za pomocą WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

Wersja 1.12.0-rc01

4 września 2024 r.

androidx.webkit:webkit:1.12.0-rc01 został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.12.0-beta01.

Wersja 1.12.0-beta01

21 sierpnia 2024 r.

androidx.webkit:webkit:1.12.0-beta01 został zwolniony. Wersja 1.12.0-beta01 zawiera te komity.

Poprawki błędów

  • Usunięto ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz dla wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszego (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)

Wersja 1.12.0-alpha02

12 czerwca 2024 r.

androidx.webkit:webkit:1.12.0-alpha02 został zwolniony. Wersja 1.12.0-alpha02 zawiera te komity.

Nowe funkcje

  • Dodaj nowy interfejs API do WebSettingsCompat, aby włączyć lub wyłączyć BackForwardCache. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (I64a38)
  • Dodaj do WebSettingsCompat nowy interfejs API, aby kontrolować zachowanie dotyczące spekulatywnego wczytywania w przypadku tych ustawień WebSettings. Obecnie dostępna jest tylko opcja Przedrenderowania. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (I13962)

Zmiany w interfejsie API

  • Niektóre metody są teraz w stosownych przypadkach dokumentowane za pomocą @UiThread. (I6c7e0), (I44541)
  • Metody bezpieczne w wątku są teraz dokumentowane za pomocą @AnyThread. (I70189)
  • Zwiększanie wartości kolumny minSdkVersion z 19 na 21. (Id7a43)

Wersja 1.12.0-alpha01

17 kwietnia 2024 r.

androidx.webkit:webkit:1.12.0-alpha01 został zwolniony. Wersja 1.12.0-alpha01 zawiera te komity.

Zmiany w interfejsie API

  • Dodano nowy interfejs API, który umożliwia uwierzytelnianie w sieciWebView. Developers. Użytkownicy mogą włączać i wyłączać wywołania WebAuthnWebView w aplikacji za pomocą WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

Wersja 1.11

Wersja 1.11.0

1 maja 2024 r.

androidx.webkit:webkit:1.11.0 został zwolniony. Wersja 1.11.0 zawiera te komity.

Ważne zmiany od wersji 1.10.0

  • Zezwalaj aplikacjom na sterowanie odtwarzaniem dźwięku w WebView za pomocą nowych interfejsów API setAudioMutedisAudioMuted, które są analogiczne do wyciszania karty w Chrome.
  • Wprowadziliśmy URLUtilCompat, który obsługuje analizowanie nagłówków Content-Disposition, które używają atrybutu wartości zakodowanej filename* zgodnie z definicją w standardzie RFC 6266. Interfejs API zgodności udostępnia też bezpośrednio metodę analizowania nagłówka Content-Disposition, w której nie jest wymagana sugerowana nazwa pliku na podstawie adresu URL i typu MIME.

Wersja 1.11.0-rc01

3 kwietnia 2024 r.

androidx.webkit:webkit:1.11.0-rc01 został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.11.0-beta01.

Wersja 1.11.0-beta01

20 marca 2024 r.

androidx.webkit:webkit:1.11.0-beta01 jest wydana bez żadnych istotnych zmian. Wersja 1.11.0-beta01 zawiera te komisy.

Wersja 1.11.0-alpha02

21 lutego 2024 r.

androidx.webkit:webkit:1.11.0-alpha02 został zwolniony. Wersja 1.11.0-alpha02 zawiera te commity.

Nowe funkcje

  • Dodaj metody setAudioMuted i isAudioMuted do wyciszania (i włączania) WebViews. Ta metoda pozwoli Ci zapobiec odtwarzaniu dźwięku przez WebView. (Ie7a33)

Zmiany w interfejsie API

  • URLUtilCompat jest ostateczne, ponieważ nie powinno być podklasyfikowane. (I49ec1)

Wersja 1.11.0-alpha01

7 lutego 2024 r.

androidx.webkit:webkit:1.11.0-alpha01 został zwolniony. Wersja 1.11.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodaj zgodność z URLUtil.guessFileName. Wersja zgodności w URLUtilCompat obsługuje analizowanie nagłówków Content-Disposition, które używają atrybutu wartości zakodowanej filename* zgodnie z definicją w RFC 6266. Interfejs API zgodności udostępnia też bezpośrednio metodę analizowania nagłówka Content-Disposition, w której nie jest wymagana sugerowana nazwa pliku na podstawie adresu URL i typu MIME. (If6ae7, b/309927164)

Wersja 1.10

Wersja 1.10.0

24 stycznia 2024 r.

androidx.webkit:webkit:1.10.0 został zwolniony. Wersja 1.10.0 zawiera te commity.

Ważne zmiany od wersji 1.9.0

  • Dodaliśmy do WebSettingsCompat nowy interfejs API, który umożliwia kontrolowanie eksperymentalnego zachowania interfejsu Android WebView Media Integrity API. Można to zrobić, całkowicie wyłączając interfejs API lub ograniczając udostępnianie tożsamości aplikacji w odpowiedzi interfejsu API. Można to włączyć dla wszystkich źródeł lub dla poszczególnych źródeł.

Wersja 1.10.0-rc01

10 stycznia 2024 r.

androidx.webkit:webkit:1.10.0-rc01 został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.10.0-beta01.

Wersja 1.10.0-beta01

13 grudnia 2023 r.

androidx.webkit:webkit:1.10.0-beta01 został zwolniony. Wersja 1.10.0-beta01 zawiera te commity.

  • Brak zmian funkcjonalnych od 1.10.0-alpha01.

Wersja 1.10.0-alpha01

29 listopada 2023 r.

androidx.webkit:webkit:1.10.0-alpha01 został zwolniony. Wersja 1.10.0-alpha01 zawiera te commity.

Nowe funkcje

  • Do WebSettingsCompat dodano nowy interfejs API, aby umożliwić kontrolowanie eksperymentalnego zachowania interfejsu Android WebView Media Integrity API. Można całkowicie wyłączyć ten interfejs API lub ograniczyć udostępnianie tożsamości aplikacji w odpowiedzi interfejsu API. Można to włączyć dla wszystkich źródeł lub dla poszczególnych źródeł.

Wersja 1.9

Wersja 1.9.0

29 listopada 2023 r.

androidx.webkit:webkit:1.9.0 został zwolniony. Wersja 1.9.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.8.0

  • Dodano nowy interfejs API dla wielu profili w komponentach WebView.
  • Dodano interfejs API do wstawiania i uruchamiania kodu JavaScript przed załadowaniem strony.
    • Interfejs WebViewCompat#addDocumentStartJavascript API umożliwia aplikacjom wstrzykiwanie skryptów do WebView, które są gwarantowanie wykonywane przed uruchomieniem skryptów strony. Interfejs API umożliwia aplikacji określenie docelowej listy źródeł, dla których skrypt ma być włączony, co zapewnia, że będzie on uruchamiany tylko na odpowiednich stronach. W przeciwieństwie do metody WebView#evaluateJavascript ten interfejs API umożliwia wykonywanie skryptów w osadzonych elementach iframe po ich załadowaniu. Aplikacje mogą używać tego nowego interfejsu API w połączeniu z metodą WebViewCompat#addWebMessageListener, aby w sposób niezawodny skonfigurować dwukierunkową komunikację z JavaScriptem na stronie.
  • Dodano interfejsy API umożliwiające modyfikowanie sposobu rejestrowania zdarzeń raportowania atrybucji w Piaskownicy prywatności.
    • Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który pozwala deweloperom skonfigurować, czy źródła i wyzwalacze atrybucji mają być rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych w WebView. Tej metody można też używać do wyłączania raportowania atrybucji w WebView. Dodatkowo dodaliśmy nowy interfejs API WebSettingsCompat#getAttributionRegistrationBehavior, aby uzyskać bieżące działanie.
    • Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności.
  • Dodaliśmy interfejsy API, które umożliwiają zastąpienie metadanych użytkownika w przypadku wskazówek dotyczących klienta.
    • Wprowadziliśmy nowy interfejs API WebSettingsCompat#setUserAgentMetadata, który pozwala zastąpić metadane użytkownika dla WebView używane do wypełniania wskazówek klienta użytkownika. Wprowadziliśmy też nowy interfejs API WebSettingsCompat#getUserAgentMetadata, który umożliwia pobieranie bieżących zastąpień użytkownika. Zachęcamy do korzystania z nowego interfejsu API, aby ustawiać prawidłowe wartości zastąpienia za każdym razem, gdy aplikacja zmienia domyślny ciąg znaków identyfikatora użytkownika za pomocą metody WebSettings.setUserAgentString. Dzięki temu w każdej sytuacji będą używane prawidłowe wartości.

Wersja 1.9.0-rc01

15 listopada 2023 r.

androidx.webkit:webkit:1.9.0-rc01 został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.9.0-beta01.

Wersja 1.9.0-beta01

1 listopada 2023 roku

androidx.webkit:webkit:1.9.0-beta01 został zwolniony. Wersja 1.9.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Rozwiązanie problemu z możliwością zwrócenia wartości null przez interfejs API metadanych user-agenta. Zaktualizowaliśmy klasę BrandVersion, aby używała wzorca konstruktora, i ujednoliciliśmy możliwość zwracania wartości null przez metody getter i setter klasy UserAgentMetadata. (Ibf195)
  • Dodanie adnotacji ProfileStore, WebViewCompat#setProfileWebViewCompat.getProfile do @UiThread. (I499b2)

Wersja 1.9.0-alpha01

18 października 2023 r.

androidx.webkit:webkit:1.9.0-alpha01 został zwolniony. Wersja 1.9.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodaliśmy interfejs API dla wielu profili, który umożliwia prowadzenie osobnych sesji przeglądania między WebViews.Każdy profil ma własne dane (np. pliki cookie). Możesz tworzyć profile, przypisywać je do instancji WebView i odzyskiwać je później, aby uzyskać dostęp do danych. Do zarządzania profilami za pomocą interfejsów API służy klasa singleton ProfileStore, która umożliwia tworzenie i usuwanie profili za pomocą interfejsów API: getOrCreateProfile, getProfile, getAllProfileNamesdeleteProfile. Klasa Profile będzie używać różnych interfejsów API do pobierania danych powiązanych z tym profilem, takich jak nazwa, GeoLocationPermissions, ServiceWorkerController, CookieManagerWebStorage. Każdy WebView będzie domyślnie działać z profilem domyślnym, ale możesz to zmienić za pomocą WebViewCompat#setProfile. W związku z tym profil WebView można pobrać za pomocą WebViewCompat#getProfile. (I32d22)
  • Dodaj interfejsy API, aby zmodyfikować sposób rejestrowania zdarzeń raportowania atrybucji. Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który pozwala deweloperom skonfigurować, czy źródła i reguły mają być rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych w WebView. Tej metody można też używać do wyłączania raportowania atrybucji w WebView. Dodatkowo dodaliśmy nowy interfejs API WebSettingsCompat#getAttributionRegistrationBehavior, aby uzyskać bieżące działanie. Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności. (I661f2)
  • Dodaj interfejsy API, aby zastąpić metadane klienta użytkownika. Wprowadziliśmy nowy interfejs API WebSettingsCompat#setUserAgentMetadata, który pozwala zastąpić metadane klienta użytkownika w WebView. Dane te są używane do wypełniania wskazówek dotyczących klienta użytkownika. Dodaliśmy też nowy interfejs API WebSettingsCompat#getUserAgentMetadata, który umożliwia uzyskiwanie bieżących wartości zastępczych klienta użytkownika. Zachęcamy, aby aplikacje używały nowego interfejsu API do ustawiania odpowiednich wartości zastępowania zamiast polegania na zmianie identyfikatora user-agent. (I74500)
  • Dodaj interfejs API, aby wstrzyknąć kod JavaScript, który ma być wykonywany podczas wczytywania strony. Interfejs API WebViewCompat.addDocumentStartJavascript umożliwia aplikacjom wstrzykiwanie skryptów do WebView, które będą uruchamiane przed wykonaniem skryptów strony. Interfejs API umożliwia aplikacji określenie docelowej listy źródeł, dla których skrypt ma być włączony, co zapewnia, że będzie on uruchamiany tylko na odpowiednich stronach. W przeciwieństwie do WebView.evaluateJavascript ten interfejs API umożliwia wykonywanie skryptów w osadzonych elementach iFrame po ich załadowaniu. (Ide063)

Wersja 1.8

Wersja 1.8.0

6 września 2023 r.

androidx.webkit:webkit:1.8.0 został zwolniony. Wersja 1.8.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.7.0

Wersja 1.8.0-rc01

9 sierpnia 2023 r.

androidx.webkit:webkit:1.8.0-rc01 jest publikowany bez zmian od 1.8.0-beta01. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.

Wersja 1.8.0-beta01

26 lipca 2023 r.

androidx.webkit:webkit:1.8.0-beta01 jest publikowany bez zmian od 1.8.0-alpha01. Wersja 1.8.0-beta01 zawiera te commity.

Wersja 1.8.0-alpha01

7 czerwca 2023 r.

androidx.webkit:webkit:1.8.0-alpha01 został zwolniony. Wersja 1.8.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Zobacz sekcję Wkład zewnętrzny.

Darowizna zewnętrzna

  • Dodanie obsługi przekazywania wartości ArrayBuffer przez WebMessagePortCompat#postMessage, JsReplyProxy#postMessageWebViewCompat#postWebMessage, odbierania wartości ArrayBuffer z JavaScriptu przez WebMessagePortCompatWebMessageListener oraz odbierania wartości ArrayBuffer z JavaScriptu przez WebMessagePortCompat. Pamiętaj, że ten interfejs API będzie dostępny dopiero od wersji WebView 116. (Ie7567, b/251152171)

Wersja 1.7

Wersja 1.7.0

24 maja 2023 r.

androidx.webkit:webkit:1.7.0 został zwolniony. Wersja 1.7.0 zawiera te commity.

Ważne zmiany od wersji 1.6.0

  • Dodaliśmy obsługę przeciągania obrazówWebView. Możesz umożliwić użytkownikom przeciąganie obrazów z poziomu WebView, dodając do pliku manifestu aplikacji nowe pole DropDataContentProvider w sposób opisany w dokumentacji klasy.
  • Dodaliśmy interfejs API ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File), który umożliwia ustawienie katalogów podstawowych, których WebView będzie używać w ramach bieżącego procesu. Podobnie jak w przypadku wszystkich metod w klasie ProcessGlobalConfig, ta metoda musi być wywołana przed utworzeniem pierwszej instancji klasy WebView. Ta metoda została dodana, aby umożliwić platformie Android dostosowanie ustawień WebView. W przypadku aplikacji ogólnego przeznaczenia nie zalecamy stosowania tej metody.

Wersja 1.7.0-rc01

10 maja 2023 r.

androidx.webkit:webkit:1.7.0-rc01 jest publikowany bez zmian od 1.7.0-beta01. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.

Wersja 1.7.0-beta01

5 kwietnia 2023 r.

androidx.webkit:webkit:1.7.0-beta01 został zwolniony. Wersja 1.7.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Niewielka zmiana w flagach funkcji i nazwie metody oraz przyjęcie przez setDirectoryBasePaths() typu File zamiast String (Ib0d0a)

Wersja 1.7.0-alpha03

8 marca 2023 r.

androidx.webkit:webkit:1.7.0-alpha03 został zwolniony. Wersja 1.7.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • Dodaj interfejs API ProcessGlobalConfig#setDirectoryBasePath(String, String), który umożliwia ustawienie katalogów podstawowych, których WebView będzie używać w bieżącym procesie. (Ibd1a1, b/250553687)

Poprawki błędów

  • Napraw nieprawidłową regułę ProGuard powodującą błędy kompilacji podczas używania DexGuard (Ia65c2, b/270034835)

Wersja 1.7.0-alpha02

8 lutego 2023 r.

androidx.webkit:webkit:1.7.0-alpha02 został zwolniony. Wersja 1.7.0-alpha02 zawiera te commity.

Poprawki błędów

  • Błędy w dokumentacji dotyczące DropDataContentProvider.

Wersja 1.7.0-alpha01

25 stycznia 2023 r.

androidx.webkit:webkit:1.7.0-alpha01 został zwolniony. Wersja 1.7.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodajemy obsługę przeciągania obrazów w WebView. Możesz umożliwić użytkownikom przeciąganie obrazów z WebView, dodając nowe DropDataContentProvider do pliku manifestu aplikacji. (05a1a6)

Wersja 1.6

Wersja 1.6.1

22 marca 2023 r.

androidx.webkit:webkit:1.6.1 został zwolniony. Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw błąd analizy Proguard (Ia65c2)

Wersja 1.6.0

25 stycznia 2023 r.

androidx.webkit:webkit:1.6.0 został zwolniony. Wersja 1.6.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.5.0

  • Dodano nowy interfejs ProcessGlobalConfig, aby umożliwić aplikacjom podawanie ustawień konfiguracji, które należy ustawić przed załadowaniem WebView, takich jak sufiks katalogu danych WebView. Konfiguracja powinna zostać skonfigurowana i zaimplementowana jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to przed wywołaniem przez dowolny inny wątek metody, która wczytuje WebView do procesu.
  • Dodano nowy interfejs CookieManagerCompat, aby rozszerzyć android.webkit.CookieManager o nową metodę getCookieInfo, która pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w danym adresie URL. Różni się to od istniejącego interfejsu getCookie API w CookieManager, który zwraca tylko atrybuty nazwa i wartość plików cookie.
  • WebSettingsCompat ma nowe metody włączania i wyłączania efektu EnterpriseAuthenticationAppLinkPolicy, jeśli został on ustawiony przez administratora w WebView, oraz uzyskiwania bieżącego ustawienia. Ta funkcja umożliwia otwieranie przez WebView aplikacji uwierzytelniającej zamiast adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, którymi nie zarządza zasada firmy.
  • Dodanie nowego interfejsu API do WebSettingsCompat, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówku X-Requested-With do źródeł z listy dozwolonych. Nagłówek był tradycyjnie wysyłany z każdą prośbą z adresu WebView.

Wersja 1.6.0-rc01

11 stycznia 2023 r.

androidx.webkit:webkit:1.6.0-rc01 został zwolniony. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd NullPointerExceptionWebViewFeature.isStartupFeatureSupported(Context, String) podczas uruchamiania na platformie SDK < L. (Ic7292)

Wersja 1.6.0-beta01

7 grudnia 2022 r.

androidx.webkit:webkit:1.6.0-beta01 został zwolniony. Wersja 1.6.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • ProcessGlobalConfig został zmieniony, aby używać zwykłego konstruktora i statycznych metod apply. Metoda apply powinna być wywoływana tylko raz na proces, jak najwcześniej, i wyrzuci IllegalStateException, jeśli zostanie wywołana więcej niż raz. Obiekty ProcessGlobalConfig nie są już ograniczone pod względem liczby wywołań metody settera. (I456c3)

Wersja 1.6.0-alpha03

9 listopada 2022 r.

androidx.webkit:webkit:1.6.0-alpha03 został zwolniony. Wersja 1.6.0-alpha03 zawiera te commity.

Nowe funkcje

  • Dodaj klasę ProcessGlobalConfig, która umożliwia użytkownikom skonfigurowanie globalnej konfiguracji procesu przed załadowaniem WebView. WebView ma pewne parametry konfiguracji globalnej procesu, których nie można zmienić po załadowaniu WebView (np. katalog danych WebView). Ta klasa umożliwia aplikacjom ustawianie tych parametrów. Konfiguracja powinna zostać skonfigurowana i zaimplementowana jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to przed wywołaniem przez dowolny inny wątek metody, która wczytuje WebView do procesu. (I7c0e0, b/250553687)
  • Dodawanie nowego interfejsu API, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówku X-Requested-With do źródeł z listy dozwolonych. Nagłówek był tradycyjnie wysyłany z każdą prośbą z adresu WebView. (I0adfe, b/226552535)

Zmiany w interfejsie API

  • Interfejs API WebSettingsCompat#setAlgorithmicDarkeningAllowed jest obsługiwany we wszystkich wersjach Androida w wersji WebView 105 i nowszych. Wcześniejsze wersje WebView obsługiwały interfejs API tylko na Androidzie Q i nowszych. W związku z tym ta usługa API nie jest już oznaczona jako @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

Wersja 1.6.0-alpha02

24 października 2022 r.

androidx.webkit:webkit:1.6.0-alpha02 został zwolniony. Wersja 1.6.0-alpha02 zawiera te commity.

Nowe funkcje

  • Dodaje nową klasę CookieManagerCompat oraz interfejs API getCookieInfo, który pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w danym adresie URL. Różni się to od istniejącego interfejsu API getCookieCookieManager, który zwraca tylko atrybuty nazwa i wartość plików cookie. (I07365, b/242161756)

Wersja 1.6.0-alpha01

24 sierpnia 2022 r.

androidx.webkit:webkit:1.6.0-alpha01 został zwolniony. Wersja 1.6.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodano interfejsy API w WebSettingsCompat, aby włączyć lub wyłączyć efekt EnterpriseAuthenticationAppLinkPolicy, jeśli został ustawiony przez administratora w WebView. Ta funkcja umożliwia WebView otwieranie aplikacji uwierzytelniającej zamiast otwierania adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, którymi nie zarządza zasada firmy.

Wersja 1.5.0

Wersja 1.5.0

24 sierpnia 2022 r.

androidx.webkit:webkit:1.5.0 został zwolniony. Wersja 1.5.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.4.0

  • Nowy interfejs API setAlgorithmicDarkeningAllowed w usłudze WebSettingsCompat zastępuje stare interfejsy API setForceDarksetForceDarkStrategy. Aplikacje kierowane na pakiet SDK 33 lub nowszy (T) powinny używać nowego interfejsu API, ponieważ stary interfejs API nie będzie już miał żadnego wpływu na te aplikacje.
  • Listę dozwolonych adresów URL, które mają korzystać z skonfigurowanego serwera proxy, można teraz ustawić za pomocą parametru ProxyCofig.Builder, ustawiając wartość parametru setReverseBypassEnabled na true. Gdy to ustawienie będzie aktywne, wszystkie inne adresy URL będą omijać skonfigurowany serwer proxy.

Wersja 1.5.0-rc01

10 sierpnia 2022 r.

androidx.webkit:webkit:1.5.0-rc01 jest publikowany bez zmian od 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te commity.

Wersja 1.5.0-beta01

29 czerwca 2022 r.

androidx.webkit:webkit:1.5.0-beta01 został zwolniony. Wersja 1.5.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Interfejsy API związane z ciemnieniem algorytmicznym są teraz oznaczone jako wymagające poziomu interfejsu API Q. Interfejs API nie będzie miał żadnego wpływu na poziomy interfejsu API <Q, ponieważ na tych urządzeniach ciemny motyw nie jest dostępny. (I0905e)

Wersja 1.5.0-alpha01

18 maja 2022 r.

androidx.webkit:webkit:1.5.0-alpha01 został zwolniony. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj nową metodę getVariationsHeader() w komponencie WebViewCompat, aby uzyskać wartość nagłówka X-Client-Data wysłanego przez WebView. Zwrócona wartość będzie protobufiem ClientVariations zakodowanym w formacie base64.
  • Dodaj interfejsy API na stronie WebSettingsCompat, aby zezwolić lub zablokować ciemnienie algorytmiczne w przypadku aplikacji z targetSdk >= 33. (I29597)

Zmiany w interfejsie API

  • Dodaj nową metodę w sekcji ProxyCofig.Builder, aby skonfigurować odwrotne pominięcie. Ustawienie odwrotnego pomijania na wartość Prawda spowoduje, że ustawienia serwera proxy będą stosowane tylko do adresów URL z listy pomijania. (I9eaa2, b/168728599)

Poprawki błędów

  • Naprawiono literówkę w dokumentacji ciemnego motywu. (I36ebf, b/194343633)
  • Naprawiliśmy błąd polegający na tym, że metody WebViewAssetLoader.Builder były niezamierzenie zależne od kolejności. (If420d, b/182196765)

Wersja 1.4.0

Wersja 1.4.0

16 grudnia 2020 roku

androidx.webkit:webkit:1.4.0 został zwolniony. Wersja 1.4.0 zawiera te zatwierdzenia.

Najważniejsze zmiany od wersji 1.3.0

  • Dodano nowy interfejs API setSafeBrowsingAllowlist(), który zastępuje interfejs setSafeBrowsingWhitelist(). Dzięki temu aplikacje mogą aktualizować kod, aby uniknąć nieobejmującej terminologii, zachowując przy tym obsługę tych samych wersji pakietów SDK i WebView co starsze wersje interfejsu API.
  • Naprawiliśmy błąd w setProxyOverride, który powodował, że reguły zapasowe nie były prawidłowo stosowane.

Wersja 1.4.0-rc02

2 grudnia 2020 r.

androidx.webkit:webkit:1.4.0-rc02 został zwolniony. Wersja 1.4.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązanie problemu polegający na tym, że reguły zapasowe nie były prawidłowo stosowane podczas używania setProxyOverride.

Wersja 1.4.0-rc01

11 listopada 2020 roku

androidx.webkit:webkit:1.4.0-rc01 jest publikowany bez zmian od 1.4.0-beta01. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

14 października 2020 r.

androidx.webkit:webkit:1.4.0-beta01 jest publikowany bez zmian od 1.4.0-alpha01. Wersja 1.4.0-beta01 zawiera te commity.

Wersja 1.4.0-alpha01

16 września 2020 roku

androidx.webkit:webkit:1.4.0-alpha01 został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Dodano nowy interfejs API WebViewCompat#setSafeBrowsingAllowlist(), który zastępuje interfejs setSafeBrowsingWhitelist(). Dzięki temu aplikacje mogą aktualizować kod, aby uniknąć nieobejmującej terminologii, a jednocześnie nadal obsługiwać ten sam zakres pakietów SDK i wersji WebView co starsze wersje interfejsu API. (I8d65d)

Wersja 1.3.0

Wersja 1.3.0

19 sierpnia 2020 r.

androidx.webkit:webkit:1.3.0 został zwolniony. Wersja 1.3.0 zawiera te commity.

Najważniejsze zmiany od wersji 1.2.0

  • Interfejs ForceDarkStrategy API zapewnia większą kontrolę nad przyciemnieniem WebView (przyciemnienie treści WebView lub automatyczne przyciemnienie).
  • Interfejs WebMessageListener i powiązane z nim interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją do osadzania WebView.
  • isMultiProcessEnabled API, aby sprawdzić, czy WebView działa w wielu procesach. Jest to możliwe od Androida O. Oznacza to, że treści internetowe są renderowane w procesie piaskownicy oddzielonym od procesu aplikacji. Ten renderujący w piaskownicy może być udostępniany innym WebView w tej samej aplikacji, ale nie jest udostępniany innym procesom aplikacji.

Wersja 1.3.0-rc02

5 sierpnia 2020 r.

androidx.webkit:webkit:1.3.0-rc02 został zwolniony. Wersja 1.3.0-rc02 zawiera te commity.

Poprawki błędów

  • Rozwiązaliśmy problem ze zgodnością, który powodował czasami zawieszanie się WebMessageListener podczas lokalnego tworzenia aplikacji, jeśli została ona uruchomiona za pomocą funkcji błyskawicznego uruchamiania w Android Studio.

Wersja 1.3.0-rc01

24 czerwca 2020 r.

androidx.webkit:webkit:1.3.0-rc01 jest publikowany bez zmian od 1.3.0-beta01. Wersja 1.3.0-rc01 zawiera te commity.

Wersja 1.3.0-beta01

10 czerwca 2020 r.

androidx.webkit:webkit:1.3.0-beta01 został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • ForceDarkStrategy API do kontrolowania przyciemnienia WebView (przyciemnienie treści w CSS lub na stronie w porównaniu z automatycznym przyciemnieniem).
  • WebMessageListener Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją do umieszczania WebView.
  • MultiProcessEnabled API, aby sprawdzić, czy WebView działa w trybie wieloprocesowym.

Wersja 1.3.0-alpha03

27 maja 2020 r.

androidx.webkit:webkit:1.3.0-alpha03 został zwolniony. Wersja 1.3.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • Metoda addWebMessageListener otrzymuje teraz Set<String> reguł dozwolonych wartości pochodzenia (wcześniej List<String>).

Wersja 1.3.0-alpha02

29 kwietnia 2020 r.

androidx.webkit:webkit:1.3.0-alpha02 został zwolniony. Wersja 1.3.0-alpha02 zawiera te commity.

Nowe funkcje

  • interfejs API MultiProcessEnabled, aby sprawdzić, czy WebView działa w trybie wieloprocesowym;

Zmiany w interfejsie API

  • Wszystkie stałe związane z ciemną strategią mają teraz przedrostek DARK_STRATEGY.

Wersja 1.3.0-alpha01

15 kwietnia 2020 roku

androidx.webkit:webkit:1.3.0-alpha01 został zwolniony. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • ForceDarkStrategy API do kontrolowania WebView przyciemnienia (przyciemnienia kodu CSS lub treści internetowej w porównaniu z automatycznym przyciemnieniem).
  • WebMessageListener Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją do umieszczania WebView.

Wersja 1.2.0

Wersja 1.2.0

4 marca 2020 r.

androidx.webkit:webkit:1.2.0 został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.

Najważniejsze zmiany od wersji 1.1.0

  • Dodano interfejs ForceDark API do kontrolowania, czy WebViews mają być renderowane w ciemnym trybie.

Wersja 1.2.0-rc01

19 lutego 2020 r.

androidx.webkit:webkit:1.2.0-rc01 jest publikowany bez zmian od 1.2.0-beta01. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Wersja 1.2.0-beta01

5 lutego 2020 r.

androidx.webkit:webkit:1.2.0-beta01 jest publikowany bez zmian od 1.2.0-alpha01. Wersja 1.2.0-beta01 zawiera te zatwierdzenia:

Wersja 1.2.0-alpha01

18 grudnia 2019 r.

androidx.webkit:webkit:1.2.0-alpha01 został zwolniony. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia

Nowe funkcje

  • ForceDark API do kontrolowania, czy komponenty WebView mają być renderowane w ciemnym trybie.

Wersja 1.1.0

Wersja 1.1.0

7 listopada 2019 r.

androidx.webkit:webkit:1.1.0 został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia:

Ważne zmiany od wersji 1.0.0

  • interfejsy API metody Getter uzupełniające metody setWebViewClient()setWebChromeClient();
  • interfejs ProxyController API do ustawiania serwera proxy żądań sieciowych dla WebView w aplikacji.
  • interfejs WebViewAssetLoader API do uproszczenia wczytywania komponentów, zasobów i plików APK z katalogu danych aplikacji za pomocą przechwytywania żądań; Umożliwia to dostęp do zasobów internetowych i lokalnych bez wyłączania CORS.
  • interfejs TracingController API do zbierania informacji o śledzeniu WebView na potrzeby debugowania;
  • interfejsy RenderProcess API do zarządzania usługami renderowania WebView oraz wykrywania sytuacji, gdy źle zachowujące się treści powodują, że renderowanie WebView przestaje odpowiadać;
  • Zaktualizowano istniejące interfejsy API, aby uwzględnić adnotacje o możliwości zwrócenia wartości null (@NonNull, @Nullable) i adnotacje o wątku (@UiThread, @WorkerThread).

Wersja 1.1.0-rc01

9 października 2019 r.

androidx.webkit:webkit:1.1.0-rc01 został zwolniony. Wersja 1.1.0-rc01 zawiera te zatwierdzenia:

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował awarię funkcji setWebViewRenderProcessClient(), jeśli przekazano do niej klienta o wartości null.

Wersja 1.1.0-beta01

5 września 2019 r.

androidx.webkit:webkit:1.1.0-beta01 został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Nowa opcja InternalStoragePathHandler w pliku WebViewAssetLoader umożliwia wczytywanie plików z katalogu danych aplikacji.

Zmiany w interfejsie API

  • Funkcja ProxyConfig#getProxyRules() zwraca teraz niezmienialną listę instancji ProxyRule, która jest nową klasą zawierającą filtr schematu i odpowiadający mu adres URL proxy.

Poprawki błędów

  • WebViewAssetLoader domyślnie ma typ MIME „text/plain” (a nie null), gdy nie można zgadnąć typu MIME na podstawie ścieżki pliku.
  • WebViewAssetLoader nie powoduje już błędu NullPointerException podczas wczytywania plików z znakami specjalnymi w nazwach ścieżek.

Wersja 1.1.0-alpha02

7 sierpnia 2019 r.

androidx.webkit:webkit:1.1.0-alpha02 został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • WebViewAssetLoader udostępnia interfejs PathHandler, aby umożliwić aplikacjom tworzenie niestandardowych funkcji obsługi ścieżek.

Zmiany w interfejsie API

  • WebViewAssetLoader jest teraz klasą ostateczną, ponieważ nie ma podklas.
  • Implementacje WebViewAssetLoader#PathHandler są teraz publiczne i ostateczne.
  • Niewielkie zmiany w nazwach metod ProxyConfig.
  • ProxyController: dodano nowe metody addDirect() i addDirect(String) do bezpośredniego łączenia się z serwerami; usunięto ciąg znaków DIRECT.
  • Zaktualizowano istniejące interfejsy API, aby uwzględnić adnotacje o możliwości zwrócenia wartości null (@NonNull, @Nullable) i adnotacje o wątku (@UiThread, @WorkerThread).

Wersja 1.1.0-alpha01

7 maja 2019 r.

androidx.webkit:webkit:1.1.0-alpha01 został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • interfejsy API typu getter uzupełniające interfejsy setWebViewClient() i setWebChromeClient();
  • interfejs ProxyController API do ustawiania serwera proxy żądań sieciowych dla WebView w aplikacji.
  • interfejs AssetLoader API do uproszczenia wczytywania zasobów i komponentów APK przez przechwytywanie żądań, co umożliwia dostęp do zasobów internetowych bez wyłączania CORS;
  • interfejs TracingController API do zbierania informacji o śledzeniu WebView na potrzeby debugowania;
  • interfejsy RenderProcess API do zarządzania usługami renderowania WebView oraz wykrywania sytuacji, gdy źle zachowujące się treści powodują, że renderowanie WebView przestaje odpowiadać;

Poprawki błędów

  • Drobne poprawki formatowania dokumentacji istniejących interfejsów API.