今後の API と機能をテストする

この記事では、Microsoft Edge のプレビュー チャネルに切り替えて、WebView2 Prerelease SDK パッケージ内の試験的 API をテストする方法について説明します。

新しい API または今後の API と機能をテストするには、安定した WebView2 ランタイムを使用するのではなく、Microsoft Edge プレビュー チャネルに切り替えます。 エバーグリーン WebView2 ランタイムは、新しい API と機能を追加するために頻繁に更新されます。 これらの更新プログラムには、プレリリース WebView2 SDK の Experimental から WebView2 リリース SDK の Stable に昇格された API が含まれる場合があります。 エバーグリーン WebView2 ランタイムの一部の更新プログラムでは、WebView2 アプリが破損する可能性があります。

実験用 API は、アプリが前方互換性を持っていることを確認するために、Microsoft Edge (WebView2 を含む) のプレビュー チャネルに切り替えて、WebView2 リリース SDK で Stable に昇格する前に、事前にテストすることをお勧めします。

関連項目:

WebView2 のプレビュー チャネルを使用して、最新の試験的な WebView2 API に対してアプリをテストする

エバーグリーン WebView2 ランタイムには、試験的な WebView2 API は含まれていません。 代わりに、WebView2 コードでこれらの試験的な機能を使用するには、Microsoft Edge プレビュー チャネル (Edge Beta、Edge Dev、または Edge Canary) にあるバージョンの WebView2 をアプリで使用します。

最新の試験的 API を提供するため、カナリア チャネルをお勧めします。

WebView2 プレリリース SDK と Microsoft Edge プレビュー チャネル間の相互作用

  • プレリリース SDK: このバージョンの WebView2 SDK には、試験的 API 用のメソッドシグネチャが用意されています。これにより、アプリで試験的な WebView2 API を使用してコードを記述できます。

  • Microsoft Edge プレビュー チャネル: これらのチャネル (Edge Beta、Edge Dev、または Edge Canary) には、必要な Microsoft Edge バイナリが含まれています。 これらのチャネルを使用すると、アプリは試験的な API を使用して実行およびレンダリングできます。

SDK のバージョンが WebView2 ランタイムと Microsoft Edge プレビュー チャネルと対話する方法の詳細については、 WebView2 のプレリリースとリリース SDK に関するページを参照してください。

プレビュー チャネルを使用した前方互換性テスト

次のベスト プラクティスに従って、プレビュー チャネルを使用して今後の変更をテストして、アプリの前方互換性を確認することをお勧めします。

プレリリース SDK とプレビュー チャネルのダウンロード

試験的 API を使用するには、 Microsoft.Web.WebView2 パッケージから WebView2 SDK のプレリリース バージョンをダウンロードします。

Microsoft Edge のプレビュー チャネルには、プレビュー WebView2 ランタイムが含まれます。 プレビュー チャネルは Insider チャネルとも呼ばれます。 インストール後、プレビュー チャネルは最新の状態を維持します。各プレビュー チャネルの最新バージョンが自動的にインストールされます。 たとえば、これは、カナリア チャネルがほぼ毎日更新されることを意味します。 Microsoft Edge プレビュー チャネル (カナリア、開発、またはベータ) をダウンロードするには、[ Microsoft Edge Insider になる] に移動します。

プレビュー チャネルを複数のマシンにデプロイするには、以下の「 プレビュー チャネルをデプロイする方法」を参照してください。

アプリを特定のブラウザー チャネルを使用する方法

WebView2 が初期化されると、使用するコンピューター上の有効なランタイムの検索が試行されます。 これは、WebView2 ランタイム、Microsoft Edge のプレビュー チャネル、または固定バージョン バイナリを含む指定された場所です。 サポートされているランタイムの詳細については、「 アプリと WebView2 ランタイムを配布する」を参照してください。

WebView2 アプリで Microsoft Edge の特定のプレビュー チャネルを使用するには、次の 2 つの方法があります。

これらのアプローチを以下に説明します。

このセクションは、API、レジストリのオーバーライド、環境変数、またはグループ ポリシーの使用に適用されます。

特定のブラウザー実行可能フォルダーが指定されていない場合、WebView2 は既知の既定の場所のいずれかからランタイムの読み込みを試みます。 既定では、WebView2 ローダーは、検出された最初のランタイムを使用して、最も安定したから最小安定 (カナリア) までのランタイムを検索します。

WebView2 Runtime (Stable) ->  Edge Beta -> Edge Dev -> Edge Canary

既定の検索順序を逆にするには、 ChannelSearchKind API を LeastStableに設定するか、 ChannelSearchKind ポリシー、レジストリ キー、または環境変数を 1 に設定します。 検索順序を反転すると、WebView2 ローダーの検索が最小安定 (カナリア) から最も安定したものになります。

Edge Canary -> Edge Dev -> Edge Beta -> WebView2 Runtime (Stable)

これは、WebView2 コントロールが初期化される前に行う必要があります。

より具体的な注文が必要な場合は、「ChannelSearchKindを使用して特定のチャネルを確実に使用する方法」を参照してください。

既定では、 CoreWebView2EnvironmentOptions.ChannelSearchKind プロパティは CoreWebView2ChannelSearchKind.MostStable (列挙値) です。 代わりに、 CoreWebView2EnvironmentOptions.ChannelSearchKind プロパティを CoreWebView2ChannelSearchKind.LeastStable に設定して、検索順序を逆にします。

。網:

WinRT:

Win32:

ChannelSearchKindを使用して特定のチャネルを確実に使用する方法

ChannelSearchKindを使用する場合は、複数のプレビュー ブラウザー チャネルがインストールされている場合に、特定のプレビュー ブラウザー チャネルが使用されていることを確認する方法を次に示します。

チャネル検索順序を反転するだけでなく、検索に含めるリリース チャネルのセットを変更して、チャネルの選択をさらに制御できます。 ローダーは、チャネル検索の種類で指定された順序でデバイス上のチャネルを検索しますが、指定されたリリース チャネルのセット内にあるチャネルのみが考慮されます。

このオプションは、最も安定したチャネルまたは最小のチャネルを選択するのではなく、特定のチャネルをターゲットにする場合に便利です。 既定では、リリース チャネルには、Stable (0)、Beta (1)、Dev (2)、Canary (3) のすべてのチャネルが含まれます。

例:

Channel Search Kind: 1 (Least Stable)
Release Channels: 0 (Stable), 1 (Beta)

この設定例では、Edge Beta がデバイスにインストールされている場合は、ローダーが Edge Beta でアプリを実行しようとし、それ以外の場合は Stable WebView2 ランタイムの使用にフォールバックします。

リリース チャネルは、同様に API、レジストリ キー、環境変数、またはグループ ポリシーを使用して設定できます。

既定では、ローダーはすべてのリリース チャネルを考慮します。 ReleaseChannelsを、ローダーで検索するチャネルのマスクに設定します。

。網:

WinRT:

Win32:

ブラウザー実行可能フォルダーの設定 (ローカル テスト用)

別の方法として、ブラウザーの実行可能フォルダーを使用します。 この方法では、ランタイム バイナリを含むフォルダーを指定します。 このフォルダーには、次のいずれかの場所を指定できます。

  • WebView2 ランタイムのインストール済み場所。
  • Microsoft Edge のプレビュー チャネル。
  • コンピューターに自分でデプロイした固定バージョン バイナリを含むフォルダー。

ブラウザーの実行可能フォルダーを Microsoft Edge の特定のプレビュー チャネルに設定する場合は、そのプレビュー チャネルが新しいバージョンに更新されたときに場所を更新する必要があります。 これは、場所にパスの一部としてバージョン番号が含まれているためです。 そのため、ローカル テストにのみこの方法を使用することをお勧めします。

次の API を使用して、環境の作成時にブラウザー実行可能フォルダーへのパスを渡します。

.NET (WPF):

.NET (WinForms):

WinRT:

Win32:

新しいランタイムが取得されたとき

環境変数、レジストリ キー、またはグループ ポリシーを使用している場合は、作成された新しい WebView2 ランタイム ブラウザー プロセスにのみ適用されます。既に実行されている WebView2 ランタイム ブラウザー プロセスには適用されません。 たとえば、特定のユーザー データ フォルダー (そのため、対応するブラウザー プロセス) を持つ WebView2 が既にあり、同じユーザー データ フォルダーを使用して新しい WebView2 を作成する前に ChannelSearchKind を変更した場合、既存の WebView2 ランタイム ブラウザー プロセスが使用され、別のランタイムは検索されません。

すべてのプロセスで環境変数、レジストリ キー、またはグループ ポリシーが使用されるようにするには、次のいずれかの操作を行う必要があります。

  • アプリを再起動します。
  • ユーザー データ フォルダーを共有するすべての WebView2 コントロールを再作成します。
  • 現在実行中の他の WebView2 コントロールとは異なるユーザー データ フォルダーを持つ新しい WebView2 を作成します。

環境変数を設定する方法

環境変数を設定するには、複数の方法を使用できます。

  • 特定のアプリに対して API を使用して環境変数を設定する。
  • すべてのアプリに対して環境変数をグローバルに設定します。

これらのアプローチを以下に説明します。

特定のアプリに対して API を使用して環境変数を設定する

環境変数は、 SetEnvironmentVariableを使用して設定できます。 ホスト アプリからこの関数を呼び出すと、環境変数のスコープは、ホスト アプリと、それが作成する WebView2 コントロールのみに制限され、システム上の他のアプリには影響しません。

すべてのアプリに対して環境変数をグローバルに設定する

環境変数は、Windows システム UI を使用して設定できます。 この方法では、現在のユーザーまたはシステムの環境変数のスコープがグローバルになり、WebView2 コントロールを作成するすべてのアプリに影響します。

  1. Windows 検索バーに「environment」と入力し、[ システム環境変数の編集] を選択します。

    Windows 検索バーを使用して環境変数を編集する場所を見つける

    [ システムのプロパティ ] ダイアログが開きます。

  2. [ 詳細設定 ] タブを選択し、[ 環境変数 ] ボタンをクリックします。

    [システムのプロパティ] ダイアログの [環境変数] ボタン

    [ 環境変数] ダイアログが開きます。

  3. 上部の [ ユーザー変数 ] セクションで、[ 新規 ] ボタンをクリックします。 [ 新しいユーザー変数] ダイアログが開きます。

  4. [ 変数名 ] テキスト ボックスに、環境変数の名前 ( WEBVIEW2_CHANNEL_SEARCH_KIND または WEBVIEW2_BROWSER_EXECUTABLE_FOLDER) を入力します。

  5. [ 変数の値 ] テキスト ボックスで、次のいずれかの操作を行います。

    • ChannelSearchKindを設定する場合は、「1」と入力して、既定の検索順序を逆にし、最初にプレビュー チャネル (Canary、Beta、Dev) を使用し、次に WebView2 ランタイムを使用します。 1以外の値を指定すると、既定の検索順序 (WebView2 ランタイム、Edge Dev、Edge Beta、Edge Canary) が使用されます。

    • BrowserExecutableFolderを設定する場合は、任意のブラウザー チャネルまたは固定バージョンのバイナリへのパスを入力します。

  6. [ OK ] ボタンをクリックしてダイアログを閉じます。

プレビュー チャネルをデプロイする方法

Microsoft Edge のプレビュー チャネルを複数のマシンに展開するには、次のいずれかの操作を行います。

  • オプション 1: マシンにプレビュー チャネルを手動でインストールします。

  • オプション 2: API エンドポイントを介してプログラムによってプレビュー チャネルをデプロイする。

これらのオプションについては、以下で説明します。

オプション 1: マシンにプレビュー チャネルを手動でインストールする

プレビュー チャネルは、次のエンタープライズ リンクを使用して (手動またはデプロイされたカスタム スクリプトを使用して) 手動でインストールできます。

チャネル リンク
カナリア ダウンロード
Dev ダウンロード
ベータ版 ダウンロード

手動インストールは、マシンごとに 1 回だけ実行する必要があります。 プレリリース チャネルは常緑であるため、新しいバージョンが利用可能になると自動的に更新されます。

オプション 2: API エンドポイントを介してプログラムによってプレビュー チャネルをデプロイする

アプリのコードで、Microsoft Edge のプレビュー チャネルの最新バージョンをデプロイする独自のカスタム ロジックを次のように記述します。

  1. デプロイするプレビュー チャネルに対応する次の API エンドポイントを呼び出します。

    チャネル リンク
    カナリア https://edgeupdates.microsoft.com/api/products/canary
    MSI リンク
    Dev https://edgeupdates.microsoft.com/api/products/dev
    ベータ版 https://edgeupdates.microsoft.com/api/products/beta

    Canary チャネルには別の MSI リンクがあります。 開発チャネルとベータ チャネルには MSI リンクが含まれています。

  2. デバイスに最新のパッケージをフェッチします。

  3. パッケージをインストールします。

関連項目