Webkit
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 11 月 13 日 | 1.9.0 | - | - | 1.13.0-alpha01 |
依存関係の宣言
Webkit への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.webkit:webkit:1.9.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.9.0") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.13
バージョン 1.13.0-alpha01
2024 年 11 月 13 日
androidx.webkit:webkit:1.13.0-alpha01
がリリースされました。バージョン 1.13.0-alpha01 には、これらの commit が含まれています。
新機能
- 試験運用版の
WebView
非同期起動 API を追加しました。(I94b8a) - Profile での URL プリフェッチ: デベロッパーが URL プリフェッチをトリガーできるように、Profile に新しい API を導入しました。プリフェッチの消去: 進行中のプリフェッチを消去する API を追加しました。(I42c5c)
API の変更
WebView.startSafeBrowsing
のサポートが終了しました。(If5626)
バージョン 1.12
バージョン 1.12.1
2024 年 10 月 2 日
androidx.webkit:webkit:1.12.1
がリリースされました。バージョン 1.12.1 には、これらの commit が含まれています。
バグの修正
- リリースで 1.12.0 API を使用できない問題を解決しました。
バージョン 1.12.0
2024 年 9 月 18 日
androidx.webkit:webkit:1.12.0
がリリースされました。バージョン 1.12.0 には、これらの commit が含まれています。
1.11.0 以降の重要な変更
WebSettingsCompat
に新しい API を追加して、このWebSettings
の BackForwardCache を有効または無効にします。この API は試験運用版であり、今後変更される可能性があります。(aosp/3111705)WebSettingsCompat
に新しい API を追加して、このWebSettings
の推測読み込み動作を制御します。現時点では、プリレンダリングのみ使用できます。この API は試験運用版であり、今後変更される可能性があります。(I13962)WebView
でウェブ認証を有効にする新しい API を追加しました。デベロッパーは、WebSettingsCompat#setWebAuthenticationSupport
を使用して、アプリのWebView
でWebAuthn
呼び出しを有効または無効にできます。(I8187f)
バージョン 1.12.0-rc01
2024 年 9 月 4 日
androidx.webkit:webkit:1.12.0-rc01
がリリースされました。このリリースには、1.12.0-beta01
リリースからの変更はありません。
バージョン 1.12.0-beta01
2024 年 8 月 21 日
androidx.webkit:webkit:1.12.0-beta01
がリリースされました。バージョン 1.12.0-beta01 に含まれる commit はこちらをご覧ください。
バグの修正
- 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。AGP を使用していないクライアントは、D8 バージョン 8.1 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(Ia60e0、b/345472586)
バージョン 1.12.0-alpha02
2024 年 6 月 12 日
androidx.webkit:webkit:1.12.0-alpha02
がリリースされました。バージョン 1.12.0-alpha02 に含まれる commit はこちらをご覧ください。
新機能
WebSettingsCompat
に新しい API を追加して、BackForwardCache
を有効または無効にします。この API は試験運用版であり、今後変更される可能性があります。(I64a38)WebSettingsCompat
に新しい API を追加して、この WebSettings の推測読み込み動作を制御します。現時点では、プリレンダリングのみ使用できます。この API は試験運用版であり、今後変更される可能性があります。(I13962)
API の変更
- 一部のメソッドが、必要に応じて
@UiThread
でドキュメント化されるようになりました。(I6c7e0)、(I44541) - スレッド セーフのメソッドが
@AnyThread
で文書化されるようになりました。(I70189) minSdkVersion
を 19 から 21 に増やしました。(Id7a43)
バージョン 1.12.0-alpha01
2024 年 4 月 17 日
androidx.webkit:webkit:1.12.0-alpha01
がリリースされました。バージョン 1.12.0-alpha01 には、これらの commit が含まれています。
API の変更
WebSettingsCompat#setWebAuthenticationSupport
を使用してアプリのWebView
でWebAuthn
呼び出しを有効または無効にできるように、ウェブ認証を有効にする新しい API をWebView. Developers
に追加しました。(I8187f)
バージョン 1.11
バージョン 1.11.0
2024 年 5 月 1 日
androidx.webkit:webkit:1.11.0
がリリースされました。バージョン 1.11.0 には、これらの commit が含まれています。
1.10.0 以降の重要な変更
- アプリが新しい
setAudioMuted
API とisAudioMuted
API を使用してWebView
で音声再生を制御できるようにします。これは、Chrome でタブをミュートする場合と同様のものです。 URLUtilCompat
を導入しました。これは、RFC 6266 で定義されているfilename*
エンコード値属性を使用するContent-Disposition
ヘッダーの解析をサポートします。互換性 API には、URL と MIME タイプに基づくファイル名の候補が不要な場合に、Content-Disposition
ヘッダーを解析するメソッドも直接公開されています。
バージョン 1.11.0-rc01
2024 年 4 月 3 日
androidx.webkit:webkit:1.11.0-rc01
がリリースされました。このリリースには、1.11.0-beta01
リリースからの変更はありません。
バージョン 1.11.0-beta01
2024 年 3 月 20 日
androidx.webkit:webkit:1.11.0-beta01
がリリースされました。重要な変更はありません。バージョン 1.11.0-beta01 には、これらの commit が含まれています。
バージョン 1.11.0-alpha02
2024 年 2 月 21 日
androidx.webkit:webkit:1.11.0-alpha02
がリリースされました。バージョン 1.11.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
WebViews
のミュート(ミュート解除)を行うsetAudioMuted
メソッドとisAudioMuted
メソッドを追加しました。この方法では、WebView
が音声を再生しないようにできます。(Ie7a33)
API の変更
URLUtilCompat
はサブクラス化できないため、final になりました。(I49ec1)
バージョン 1.11.0-alpha01
2024 年 2 月 7 日
androidx.webkit:webkit:1.11.0-alpha01
がリリースされました。バージョン 1.11.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
URLUtil.guessFileName
の互換性を追加しました。URLUtilCompat
の互換性バージョンは、RFC 6266 で定義されているfilename*
エンコード値属性を使用するContent-Disposition
ヘッダーの解析をサポートしています。互換性 API には、URL と MIME タイプに基づくファイル名の候補が不要な場合に、Content-Disposition
ヘッダーを解析するメソッドも直接公開されています。(If6ae7、b/309927164)
バージョン 1.10
バージョン 1.10.0
2024 年 1 月 24 日
androidx.webkit:webkit:1.10.0
がリリースされました。バージョン 1.10.0 に含まれる commit については、こちらをご覧ください。
1.9.0 以降の重要な変更
- WebSettingsCompat に新しい API を追加しました。これにより、試験運用版の Android WebView Media Integrity API の動作を制御できます。API を完全に無効にするか、API レスポンスでのアプリケーション ID の共有を制限します。これは、すべてのオリジンに対して、またはオリジンごとに切り替えることができます。
バージョン 1.10.0-rc01
2024 年 1 月 10 日
androidx.webkit:webkit:1.10.0-rc01
がリリースされました。このリリースには、1.10.0-beta01
リリースからの変更はありません。
バージョン 1.10.0-beta01
2023 年 12 月 13 日
androidx.webkit:webkit:1.10.0-beta01
がリリースされました。バージョン 1.10.0-beta01 に含まれる commit については、こちらをご覧ください。
1.10.0-alpha01
からの機能の変更はありません。
バージョン 1.10.0-alpha01
2023 年 11 月 29 日
androidx.webkit:webkit:1.10.0-alpha01
がリリースされました。バージョン 1.10.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
WebSettingsCompat
に新しい API を追加しました。これにより、試験運用版の Android WebView Media Integrity API の動作を制御できます。API を完全に無効にするか、API レスポンスでのアプリ ID の共有を制限します。これは、すべてのオリジンに対して、またはオリジンごとに切り替えることができます。
バージョン 1.9
バージョン 1.9.0
2023 年 11 月 29 日
androidx.webkit:webkit:1.9.0
がリリースされました。バージョン 1.9.0 に含まれる commit については、こちらをご覧ください。
1.8.0 以降の重要な変更
- WebView 用の新しいマルチプロファイル API を追加しました。
- Profile インターフェースには、このプロファイルに関連付けられたデータ(名前、GeoLocationPermissions、ServiceWorkerController、CookieManager、WebStorage など)を取得するために使用できるさまざまな API があります。これらのオブジェクトはプロファイルに固有であり、アプリ内の異なるプロファイル間で情報は共有されません。
WebView
インスタンスで使用されるプロファイルは、WebViewCompat#setProfile メソッドを使用して変更し、WebViewCompat#getProfile を使用して取得できます。- 新しく導入された ProfileStore を使用すると、デフォルト プロファイルを含む、アプリで使用可能なプロファイルを管理できます。
- CookieManager#getInstance などの既存の WebView API は、デフォルト プロファイルで引き続き動作します。
- ページの読み込み前に JavaScript を挿入して実行する API を追加しました。
- WebViewCompat#addDocumentStartJavascript API を使用すると、アプリは
WebView
にスクリプトを挿入できます。このスクリプトは、ページ スクリプトが実行される前に確実に実行されます。この API を使用すると、アプリはスクリプトを有効にするオリジンのターゲット リストを指定できるため、意図したページでのみ実行されるようにできます。WebView#evaluateJavascript とは異なり、この API では、埋め込まれた Iframe のスクリプトを読み込み時に実行できます。アプリは、この新しい API を WebViewCompat#addWebMessageListener と組み合わせて使用することで、ページ内の JavaScript との双方向通信を信頼性の高い方法で設定できます。
- WebViewCompat#addDocumentStartJavascript API を使用すると、アプリは
- プライバシー サンドボックスの Attribution Reporting イベントの登録方法を変更する API を追加しました。
- 新しい API WebSettingsCompat#setAttributionRegistrationBehavior が導入されました。これにより、アトリビューション ソースとトリガーを、アプリ自体からのものとして登録するか、WebView 内のウェブ コンテンツからのものとして登録するかをデベロッパーが設定できるようになりました。このメソッドは、WebView で Attribution Reporting を無効にする場合にも使用できます。また、現在の動作を取得するための新しい API
WebSettingsCompat#getAttributionRegistrationBehavior
を追加しました。 - 詳しくは、プライバシー サンドボックスのドキュメントをご覧ください。
- 新しい API WebSettingsCompat#setAttributionRegistrationBehavior が導入されました。これにより、アトリビューション ソースとトリガーを、アプリ自体からのものとして登録するか、WebView 内のウェブ コンテンツからのものとして登録するかをデベロッパーが設定できるようになりました。このメソッドは、WebView で Attribution Reporting を無効にする場合にも使用できます。また、現在の動作を取得するための新しい API
- クライアント ヒントのユーザー エージェント メタデータをオーバーライドする API を追加しました。
- ユーザー エージェント クライアント ヒントの入力に使用される WebView のユーザー エージェント メタデータをオーバーライドする新しい API WebSettingsCompat#setUserAgentMetadata を導入しました。また、現在のユーザー エージェントのオーバーライドを取得する新しい API WebSettingsCompat#getUserAgentMetadata も追加しました。アプリが WebSettings.setUserAgentString を使用してデフォルトのユーザー エージェント文字列を変更するたびに、新しい API を使用して適切なオーバーライド値を設定することをおすすめします。これにより、すべての状況で正しい値が使用されるようになります。
バージョン 1.9.0-rc01
2023 年 11 月 15 日
androidx.webkit:webkit:1.9.0-rc01
がリリースされました。このリリースには、1.9.0-beta01
リリースからの変更はありません。
バージョン 1.9.0-beta01
2023 年 11 月 1 日
androidx.webkit:webkit:1.9.0-beta01
がリリースされました。バージョン 1.9.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- ユーザー エージェント メタデータ API の null 可能性の問題に対処。
BrandVersion
クラスを更新してビルダー パターンを使用し、UserAgentMetadata
クラスのゲッターとセッターが null 可能性を常に一致させます。(Ibf195) ProfileStore
、WebViewCompat#setProfile
、WebViewCompat.getProfile
に@UiThread
アノテーションを付けます。(I499b2)
バージョン 1.9.0-alpha01
2023 年 10 月 18 日
androidx.webkit:webkit:1.9.0-alpha01
がリリースされました。バージョン 1.9.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
WebViews
間で個別のブラウジング セッションを設定できるマルチプロファイル API が追加されました。各プロファイルには独自のデータ(Cookie など)が設定されます。プロファイルを作成してWebView
インスタンスに割り当て、後でデータアクセスのために取得できます。getOrCreateProfile
、getProfile
、getAllProfileNames
、deleteProfile
の API を使用してプロファイルを作成または削除する際に役立つシングルトン クラスProfileStore
があります。Profile
クラスには、このプロファイルに関連付けられたデータ(名前、GeoLocationPermissions
、ServiceWorkerController
、CookieManager
、WebStorage
など)を取得するために使用するさまざまな API があります。各WebView
はデフォルトでデフォルト プロファイルで実行されますが、WebViewCompat#setProfile
を使用して変更できます。関連して、WebView
のプロファイルはWebViewCompat#getProfile
を使用して取得できます。(I32d22)- Attribution Reporting イベントの登録方法を変更する API を追加しました。新しい API
WebSettingsCompat#setAttributionRegistrationBehavior
が導入されました。これにより、デベロッパーは、ソースとトリガーをWebView
でアプリ自体からの発生として登録するか、ウェブ コンテンツからの発生として登録するかを設定できるようになりました。このメソッドは、WebView
で Attribution Reporting を無効にする場合にも使用できます。また、現在の動作を取得する新しい APIWebSettingsCompat#getAttributionRegistrationBehavior
を追加しました。詳しくは、プライバシー サンドボックスのドキュメントをご覧ください。(I661f2) - ユーザー エージェント メタデータをオーバーライドする API を追加しました。WebView のユーザーエージェント メタデータをオーバーライドする新しい API
WebSettingsCompat#setUserAgentMetadata
が導入されました。この API は、ユーザーエージェント クライアント ヒントの入力に使用されます。また、現在のユーザーエージェント オーバーライドを取得する新しい APIWebSettingsCompat#getUserAgentMetadata
も追加されました。ユーザー エージェントの変更に依存するのではなく、新しい API を使用して適切なオーバーライド値を設定することをおすすめします。(I74500) - ページの読み込み時に実行される JavaScript を挿入する API を追加します。
WebViewCompat.addDocumentStartJavascript
API を使用すると、アプリは WebView にスクリプトを挿入できます。このスクリプトは、ページ スクリプトが実行される前に実行されます。この API を使用すると、アプリはスクリプトを有効にするオリジンのターゲット リストを指定できるため、意図したページでのみ実行されるようにできます。WebView.evaluateJavascript
とは異なり、この API では、埋め込み iframe のスクリプトを読み込み時に実行できます。(Ide063)
バージョン 1.8
バージョン 1.8.0
2023 年 9 月 6 日
androidx.webkit:webkit:1.8.0
がリリースされました。バージョン 1.8.0 に含まれる commit については、こちらをご覧ください。
1.7.0 以降の重要な変更
WebMessagePortCompat#postMessage
、JavaScriptReplyProxy#postMessage
、WebViewCompat#postWebMessage
を介したArrayBuffer
の受け渡し、WebMessagePortCompat
とWebMessageListener
を介した JavaScript からのArrayBuffer
の受信、WebMessagePortCompat
を介した JavaScript からの転送可能なArrayBuffer
の受信のサポートを追加しました。(aosp/2596550、b/251152171)
バージョン 1.8.0-rc01
2023 年 8 月 9 日
androidx.webkit:webkit:1.8.0-rc01
がリリースされました。1.8.0-beta01
からの変更はありません。バージョン 1.8.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.8.0-beta01
2023 年 7 月 26 日
androidx.webkit:webkit:1.8.0-beta01
がリリースされました。1.8.0-alpha01
からの変更はありません。バージョン 1.8.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.8.0-alpha01
2023 年 6 月 7 日
androidx.webkit:webkit:1.8.0-alpha01
がリリースされました。バージョン 1.8.0-alpha01 に含まれる commit については、こちらをご覧ください。
API の変更
- 外部からの貢献のセクションをご覧ください。
外部からの協力
WebMessagePortCompat#postMessage
、JsReplyProxy#postMessage
、WebViewCompat#postWebMessage
を介したArrayBuffer
の受け渡し、WebMessagePortCompat
とWebMessageListener
を介した JavaScript からのArrayBuffer
の受信、WebMessagePortCompat
を介した JavaScript からの転送可能なArrayBuffer
の受信のサポートを追加しました。この API はWebView
バージョン 116 以降でのみ使用できます。(Ie7567、b/251152171)
バージョン 1.7
バージョン 1.7.0
2023 年 5 月 24 日
androidx.webkit:webkit:1.7.0
がリリースされました。バージョン 1.7.0 に含まれる commit については、こちらをご覧ください。
1.6.0 以降の重要な変更
WebView
で画像のドラッグが可能になりました。クラスのドキュメントに記載されているように、新しいDropDataContentProvider
をアプリのマニフェストに追加することで、ユーザーがWebView
から画像をドラッグできるようになります。WebView
が現在のプロセスで使用するベース ディレクトリを設定できるProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
API が追加されました。ProcessGlobalConfig
のすべてのメソッドと同様に、このメソッドはWebView
の最初のインスタンスがインスタンス化される前に呼び出す必要があります。このメソッドは、Android フレームワークにWebView
設定を微調整する機能を提供するために追加されました。汎用アプリでは、この方法の使用はおすすめしません。
バージョン 1.7.0-rc01
2023 年 5 月 10 日
androidx.webkit:webkit:1.7.0-rc01
がリリースされました。1.7.0-beta01
からの変更はありません。バージョン 1.7.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.7.0-beta01
2023 年 4 月 5 日
androidx.webkit:webkit:1.7.0-beta01
がリリースされました。バージョン 1.7.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- 機能フラグとメソッド名を若干変更し、
setDirectoryBasePaths()
が String ではなく File を受け取れるようにしました。(Ib0d0a)
バージョン 1.7.0-alpha03
2023 年 3 月 8 日
androidx.webkit:webkit:1.7.0-alpha03
がリリースされました。バージョン 1.7.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
ProcessGlobalConfig#setDirectoryBasePath(String, String)
API を追加します。この API を使用すると、WebView
が現在のプロセスで使用するベース ディレクトリを設定できます。(Ibd1a1、b/250553687)
バグの修正
DexGuard
の使用時に無効なProGuard
ルールが原因でビルドエラーが発生する問題を修正しました。(Ia65c2、b/270034835)
バージョン 1.7.0-alpha02
2023 年 2 月 8 日
androidx.webkit:webkit:1.7.0-alpha02
がリリースされました。バージョン 1.7.0-alpha02 に含まれる commit については、こちらをご覧ください。
バグの修正
DropDataContentProvider
のドキュメントに関するバグ。
バージョン 1.7.0-alpha01
2023 年 1 月 25 日
androidx.webkit:webkit:1.7.0-alpha01
がリリースされました。バージョン 1.7.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
WebView
で画像のドラッグが可能になります。新しいDropDataContentProvider
をアプリのマニフェストに追加することで、ユーザーがWebView
から画像をドラッグできるようになります。(05a1a6)
バージョン 1.6
バージョン 1.6.1
2023 年 3 月 22 日
androidx.webkit:webkit:1.6.1
がリリースされました。バージョン 1.6.1 に含まれる commit については、こちらをご覧ください。
バグの修正
- ProGuard の解析エラーを修正しました。(Ia65c2)
バージョン 1.6.0
2023 年 1 月 25 日
androidx.webkit:webkit:1.6.0
がリリースされました。バージョン 1.6.0 に含まれる commit については、こちらをご覧ください。
1.5.0 以降の重要な変更
- 新しい ProcessGlobalConfig API を追加しました。これによりアプリで、WebView の読み込み前に指定する必要のある構成設定(WebView データ ディレクトリ サフィックスなど)を提供できるようになります。この構成のセットアップと適用は、他のスレッドが
WebView
をプロセスに読み込むメソッドを呼び出す前に行う必要があります。そのため、アプリ起動時のできるだけ早い段階に組み込んでください。 - 新しい CookieManagerCompat API を追加しました。これにより、新しい
getCookieInfo
メソッドで android.webkit.CookieManager が拡張され、特定の URL に設定されているすべての Cookie の属性をすべて取得できるようになります。この API は、Cookie の名前と値の属性のみを返すCookieManager
の既存の getCookie API とは異なります。 WebSettingsCompat
の新しいメソッドで、EnterpriseAuthenticationAppLinkPolicy
(WebView
で管理者が設定した場合)の効果を有効または無効にすることや、現在の設定を取得することが可能になりました。この機能により、WebView で認証 URL を開く代わりに認証アプリを開くことができます。この機能は、エンタープライズ ポリシーで管理されていないデバイスには影響を及ぼしません。- 新しい API を
WebSettingsCompat
に追加します。これにより、アプリ パッケージ名をX-Requested-With
ヘッダー経由で、許可リストに登録された送信元に明示的に送信できるようになります。このヘッダーは従来、WebView
からのリクエストのたびに送信されていました。
バージョン 1.6.0-rc01
2023 年 1 月 11 日
androidx.webkit:webkit:1.6.0-rc01
がリリースされました。バージョン 1.6.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- L より前の SDK で実行した場合の
WebViewFeature.isStartupFeatureSupported(Context, String)
のNullPointerException
を修正しました。(Ic7292)
バージョン 1.6.0-beta01
2022 年 12 月 7 日
androidx.webkit:webkit:1.6.0-beta01
がリリースされました。バージョン 1.6.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
ProcessGlobalConfig
が変更され、通常のコンストラクタと静的 apply メソッドが使用されるようになりました。apply メソッドはできるだけ早く、プロセスごとに 1 回だけ呼び出します。2 回以上呼び出すとIllegalStateException
がスローされます。ProcessGlobalConfig
オブジェクトでは、セッターを呼び出す回数に制限がなくなりました。(I456c3)
バージョン 1.6.0-alpha03
2022 年 11 月 9 日
androidx.webkit:webkit:1.6.0-alpha03
がリリースされました。バージョン 1.6.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
ProcessGlobalConfig
クラスを追加しました。これにより、ユーザーはWebView
を読み込む前にプロセス グローバル構成を設定できます。WebView
に含まれるプロセス グローバル構成パラメータの一部は、WebView
の読み込み後に変更できません(WebView
データ ディレクトリなど)。このクラスを使用すると、それらのパラメータをアプリで設定できます。この構成のセットアップと適用は、他のスレッドがWebView
をプロセスに読み込むメソッドを呼び出す前に行う必要があります。そのため、アプリ起動時のできるだけ早い段階に組み込んでください。(I7c0e0、b/250553687)- アプリ パッケージ名を X-Requested-With ヘッダー経由で、許可リストに登録された送信元に明示的に送信できる新しい API を追加します。このヘッダーは従来、
WebView
からのリクエストのたびに送信されていました。(I0adfe、b/226552535)
API の変更
WebSettingsCompat#setAlgorithmicDarkeningAllowed
API はWebView
バージョン 105 以降、すべての Android バージョンでサポートされます。以前のバージョンのWebView
では、この API は Android Q 以降でのみサポートされていました。したがって、この API は@RequiresApi(Build.VERSION_CODES.Q)
としてマークされなくなります。(I3ac1d)
バージョン 1.6.0-alpha02
2022 年 10 月 24 日
androidx.webkit:webkit:1.6.0-alpha02
がリリースされました。バージョン 1.6.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- 新しい
CookieManagerCompat
クラスと、特定の URL に設定されているすべての Cookie のすべての属性を取得するgetCookieInfo
API を追加しました。この API は、Cookie の名前と値の属性のみを返すCookieManager
の既存のgetCookie
API とは異なります。(I07365、b/242161756)
バージョン 1.6.0-alpha01
2022 年 8 月 24 日
androidx.webkit:webkit:1.6.0-alpha01
がリリースされました。バージョン 1.6.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
WebSettingsCompat
に API を追加しました。これは、WebView
で管理者が設定した場合にEnterpriseAuthenticationAppLinkPolicy
の効果を有効または無効にできるようにするものです。この機能により、WebView
は認証 URL を開く代わりに、認証アプリを開くことができます。この機能は、エンタープライズ ポリシーで管理されていないデバイスには影響を及ぼしません。
バージョン 1.5.0
バージョン 1.5.0
2022 年 8 月 24 日
androidx.webkit:webkit:1.5.0
がリリースされました。バージョン 1.5.0 に含まれる commit については、こちらをご覧ください。
1.4.0 以降の重要な変更
WebSettingsCompat
の新しいsetAlgorithmicDarkeningAllowed
API は、以前のsetForceDark
API とsetForceDarkStrategy
API に代わるものです。SDK 33 以上(T)をターゲットとするアプリでは、この新しい API を使用する必要があります。以前の API はこれらのアプリに対して機能しなくなります。- 設定済みのプロキシを使用するための URL の許可リストは、
setReverseBypassEnabled
をtrue
に設定することでProxyCofig.Builder
から設定できるようになりました。その場合、他のすべての URL はそのプロキシをバイパスします。
バージョン 1.5.0-rc01
2022 年 8 月 10 日
androidx.webkit:webkit:1.5.0-rc01
がリリースされました。1.5.0-beta01
からの変更はありません。バージョン 1.5.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.5.0-beta01
2022 年 6 月 29 日
androidx.webkit:webkit:1.5.0-beta01
がリリースされました。バージョン 1.5.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- アルゴリズムによるダークニング関連の API に API レベル Q を必要とする旨アノテーションが付くようになりました。Q 以前の API レベルでは、ダークモードがデバイスで使用できないため、この API による効果はありません。(I0905e)
バージョン 1.5.0-alpha01
2022 年 5 月 18 日
androidx.webkit:webkit:1.5.0-alpha01
がリリースされました。バージョン 1.5.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
WebViewCompat
に新しいgetVariationsHeader()
メソッドを追加しました。このメソッドは、WebView
によって送信される X-Client-Data ヘッダー値を取得します。戻り値は、base64 エンコードされた ClientVariations protobuf です。- targetSdk が 33 以上のアプリでアルゴリズムによるダークニングを許可 / 禁止するため、
WebSettingsCompat
に API を追加しました。(I29597)
API の変更
- 逆方向のバイパスを設定する新しいメソッドを
ProxyCofig.Builder
に追加しました。逆方向のバイパスを true に設定すると、バイパスリストに含まれる URL のみがプロキシ設定を使用するようになります。(I9eaa2、b/168728599)
バグの修正
- ダークモードのドキュメントのスペルミスを修正しました。(I36ebf、b/194343633)
WebViewAssetLoader.Builder
メソッドが意図せず順序に依存するバグを修正しました。(If420d、b/182196765)
バージョン 1.4.0
バージョン 1.4.0
2020 年 12 月 16 日
androidx.webkit:webkit:1.4.0
がリリースされました。バージョン 1.4.0 に含まれる commit については、こちらをご覧ください。
1.3.0 以降の主な変更
setSafeBrowsingWhitelist()
に代わる新しいsetSafeBrowsingAllowlist()
API を追加しました。これにより、サポートが終了した API と同じ範囲の Android SDK バージョンと WebView バージョンをサポートしつつ、差別的な用語を避けるためにアプリのコードを更新できます。- setProxyOverride でフォールバック ルールが正しく適用されないバグを修正しました。
バージョン 1.4.0-rc02
2020 年 12 月 2 日
androidx.webkit:webkit:1.4.0-rc02
がリリースされました。バージョン 1.4.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
- setProxyOverride を使用したときにフォールバック ルールが正しく適用されないバグを修正しました。
バージョン 1.4.0-rc01
2020 年 11 月 11 日
androidx.webkit:webkit:1.4.0-rc01
がリリースされました。1.4.0-beta01
からの変更はありません。バージョン 1.4.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.0-beta01
2020 年 10 月 14 日
androidx.webkit:webkit:1.4.0-beta01
がリリースされました。1.4.0-alpha01
からの変更はありません。バージョン 1.4.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.4.0-alpha01
2020 年 9 月 16 日
androidx.webkit:webkit:1.4.0-alpha01
がリリースされました。バージョン 1.4.0-alpha01 に含まれる commit については、こちらをご覧ください。
API の変更
setSafeBrowsingWhitelist()
に代わる新しいWebViewCompat#setSafeBrowsingAllowlist()
API を追加しました。これにより、サポートが終了した API と同じ範囲の Android SDK バージョンと WebView バージョンをサポートしつつ、差別的な用語を避けるためにアプリのコードを更新できます。(I8d65d)
バージョン 1.3.0
バージョン 1.3.0
2020 年 8 月 19 日
androidx.webkit:webkit:1.3.0
がリリースされました。バージョン 1.3.0 に含まれる commit については、こちらをご覧ください。
1.2.0 以降の主な変更
- ForceDarkStrategy API により WebView ダークニング(CSS / ウェブ コンテンツのダークニング対自動ダークニング)の制御が強化されました。
- WebMessageListener API とその関連 API は、ウェブ コンテンツと WebView 埋め込みアプリ間の通信を確立するためのシンプルで安全なメカニズムを提供します。
isMultiProcessEnabled
API を使用して、WebView がマルチプロセスで実行されているかどうかを確認します。これは Android O 以降で可能です。ウェブ コンテンツは、アプリプロセスとは別のサンドボックス レンダラ プロセスでレンダリングされます。このサンドボックス化されたレンダラは、同じアプリの他の WebView と共有できますが、他のアプリプロセスとは共有されません。
バージョン 1.3.0-rc02
2020 年 8 月 5 日
androidx.webkit:webkit:1.3.0-rc02
がリリースされました。バージョン 1.3.0-rc02 に含まれる commit については、こちらをご覧ください。
バグの修正
- ローカルでの開発中にアプリを Android Studio Instant Run で開始した場合に
WebMessageListener
がクラッシュすることがある互換性の問題を修正しました。
バージョン 1.3.0-rc01
2020 年 6 月 24 日
androidx.webkit:webkit:1.3.0-rc01
がリリースされました。1.3.0-beta01
からの変更はありません。バージョン 1.3.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.3.0-beta01
2020 年 6 月 10 日
androidx.webkit:webkit:1.3.0-beta01
がリリースされました。バージョン 1.3.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
- WebView ダークニング(CSS / ウェブ コンテンツのダークニング対自動ダークニング)を制御する
ForceDarkStrategy
API。 WebMessageListener
API は、ウェブ コンテンツと WebView 埋め込みアプリ間の通信を確立するためのシンプルで安全なメカニズムを提供します。MultiProcessEnabled
API を使用して、WebView がマルチプロセス モードで実行されているかどうかを確認します。
バージョン 1.3.0-alpha03
2020 年 5 月 27 日
androidx.webkit:webkit:1.3.0-alpha03
がリリースされました。バージョン 1.3.0-alpha03 に含まれる commit については、こちらをご覧ください。
API の変更
addWebMessageListener
メソッドが、許可されているオリジンのルールのSet<String>
を受け取るようになりました(以前はList<String>
でした)。
バージョン 1.3.0-alpha02
2020 年 4 月 29 日
androidx.webkit:webkit:1.3.0-alpha02
がリリースされました。バージョン 1.3.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- MultiProcessEnabled API を使用して、WebView がマルチプロセス モードで実行されているかどうかを確認します。
API の変更
- すべてのダーク ストラテジー定数に
DARK_STRATEGY
プレフィックスが付きました。
バージョン 1.3.0-alpha01
2020 年 4 月 15 日
androidx.webkit:webkit:1.3.0-alpha01
がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
WebView
ダークニング(CSS/ウェブ コンテンツのダークニング対自動ダークニング)を制御するForceDarkStrategy
API。WebMessageListener
API は、ウェブ コンテンツと WebView 埋め込みアプリ間の通信を確立するためのシンプルで安全なメカニズムを提供します。
バージョン 1.2.0
バージョン 1.2.0
2020 年 3 月 4 日
androidx.webkit:webkit:1.2.0
がリリースされました。バージョン 1.2.0 に含まれる commit については、こちらをご覧ください。
1.1.0 以降の主な変更
- WebView をダークモードでレンダリングするかどうかを制御する ForceDark API を追加しました。
バージョン 1.2.0-rc01
2020 年 2 月 19 日
androidx.webkit:webkit:1.2.0-rc01
がリリースされました。1.2.0-beta01
からの変更はありません。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-beta01
2020 年 2 月 5 日
androidx.webkit:webkit:1.2.0-beta01
がリリースされました。1.2.0-alpha01
からの変更はありません。バージョン 1.2.0-beta01 に含まれる commit については、こちらをご覧ください。
バージョン 1.2.0-alpha01
2019 年 12 月 18 日
androidx.webkit:webkit:1.2.0-alpha01
がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- WebView をダークモードでレンダリングするかどうかを制御する ForceDark API。
バージョン 1.1.0
バージョン 1.1.0
2019 年 11 月 7 日
androidx.webkit:webkit:1.1.0
がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください。
1.0.0 以降の重要な変更
- setWebViewClient() と setWebChromeClient() を補完する Getter API
- アプリの WebView のネットワーク リクエスト プロキシを設定する ProxyController API
- リクエストのインターセプトを介してアプリデータ ディレクトリからの APK アセット、リソース、ファイルの読み込みを簡素化する WebViewAssetLoader API。これにより、CORS を無効にすることなくウェブリソースとローカル リソースにアクセスできます。
- デバッグ目的で WebView トレース情報を収集する TracingController API
- WebView レンダラ サービスを管理し、動作の不完全なコンテンツによって WebView レンダラが応答しなくなったことを検出する、RenderProcess API
- 既存の API を更新し、null 可能性アノテーション(
@NonNull
、@Nullable
)とスレッド アノテーション(@UiThread
、@WorkerThread
)を追加しました。
バージョン 1.1.0-rc01
2019 年 10 月 9 日
androidx.webkit:webkit:1.1.0-rc01
がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- null クライアントが渡されると
setWebViewRenderProcessClient()
がクラッシュすることがある問題を修正しました。
バージョン 1.1.0-beta01
2019 年 9 月 5 日
androidx.webkit:webkit:1.1.0-beta01
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
- アプリのデータ ディレクトリからファイルを読み込むための、
WebViewAssetLoader
の新しいInternalStoragePathHandler
API の変更
ProxyConfig#getProxyRules()
がProxyRule
インスタンスの変更不可能なリストを返すようになりました。これは、スキーム フィルタとそれに対応するプロキシ URL を保持する新しいクラスです。
バグの修正
- ファイルパスから MIME タイプを推測できない場合、
WebViewAssetLoader
はデフォルトで(null ではなく)「text/plain」MIME タイプに設定されます。 - パス名に特殊文字を含むファイルを読み込んだときに、
WebViewAssetLoader
がNullPointerException
をスローしなくなりました。
バージョン 1.1.0-alpha02
2019 年 8 月 7 日
androidx.webkit:webkit:1.1.0-alpha02
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
- アプリがカスタムパス処理機能を作成できるように、
WebViewAssetLoader
がPathHandler
インターフェースを公開します。
API の変更
WebViewAssetLoader
は、サブクラス化されることを意図しないため、最終クラスになりました。WebViewAssetLoader#PathHandler
実装が公開され最終版になりました。- ProxyConfig メソッド名に小さな変更を加えました。
ProxyController
: サーバーに直接接続するための新しいメソッドaddDirect()
とaddDirect(String)
を追加し、DIRECT String を削除しました。- 既存の API を更新し、null 可能性アノテーション(
@NonNull
、@Nullable
)とスレッド アノテーション(@UiThread
、@WorkerThread
)を追加しました。
バージョン 1.1.0-alpha01
2019 年 5 月 7 日
androidx.webkit:webkit:1.1.0-alpha01
がリリースされました。このバージョンに含まれる commit については、こちらをご覧ください。
新機能
setWebViewClient()
とsetWebChromeClient()
を補完する Getter API- アプリの WebView のネットワーク リクエスト プロキシを設定する ProxyController API
- リクエストのインターセプトを介して APK アセットとリソースの読み込みを簡素化する AssetLoader API。CORS を無効にすることなくウェブリソースにアクセスできます。
- デバッグ目的で WebView トレース情報を収集する TracingController API
- WebView レンダラ サービスを管理し、動作の不完全なコンテンツによって WebView レンダラが応答しなくなったことを検出する、RenderProcess API
バグの修正
- 既存の API のドキュメント形式を若干修正しました。