launch_handler

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

launch_handler メンバーは、ウェブアプリケーションの起動を制御する値を定義します。現時点では、このメンバーには単一の値 client_mode しか設定できません。この値は、アプリケーションが起動された際に読み込むべきコンテキストを指定します。例えば、アプリケーションのインスタンスを含む既存のウェブアプリケーションクライアントであったり、または新しいウェブアプリケーションクライアントであったりです。これにより、将来的に launch_handler の値をさらに定義できる余地が残されています。

launch_handler オブジェクトは次の値を持つことができます。

client_mode Experimental

文字列、またはカンマで区切られた文字列の配列で、アプリケーションが起動された際に読み込まれるコンテキストを指定します。文字列の配列が指定された場合、最初の有効な値が使用されます。 利用可能な値は次の通りです。

auto

プラットフォームがアプリを読み込む際に、どのコンテキストが適切であるかを判断するのはユーザーエージェントです。例えば、単一のアプリインスタンスが一般的であるモバイルでは、 navigate-existing の方が適切である可能性が高いのに対し、デスクトップでは navigate-new の方が適切である可能性が高いでしょう。これは、提供された値がすべて不正な場合に用いられる既定値です。

focus-existing

アプリがすでにウェブアプリクライアントに読み込まれている場合、フォーカスは当たるものの、起動対象の URL には移動しません。 対象とする URL は、 Window.launchQueue を介して利用できるため、カスタム起動のナビゲーション処理を実装することができます。 アプリがウェブアプリクライアントに読み込まれていない場合、代わりに navigate-new の動作が使用されます。

アプリがすでにウェブアプリクライアントに読み込まれている場合、そのアプリがフォーカスされ、指定した起動ターゲット URL に移動します。 対象とする URL は、 Window.launchQueue を介して利用できるため、追加のカスタム起動ナビゲーション処理を実装することができます。 アプリがウェブアプリクライアントに読み込まれていない場合、代わりに navigate-new の動作が使用されます。

このアプリは新しいウェブアプリクライアントに読み込まれました。対象とする URL は、 Window.launchQueue を介して利用でき、追加のカスタム起動ナビゲーション処理を実装できるようになっています。

json
"launch_handler": {
    "client_mode": "focus-existing"
}

"launch_handler": {
    "client_mode": ["focus-existing", "auto"]
}

仕様書

Specification
Web App Launch Handler API
# launch_handler-member

ブラウザーの互換性

BCD tables only load in the browser

関連情報