アプリがインターセプトして処理する URL パターンを指定するために、パッケージ化アプリで使用されます。アプリでは、このマニフェスト エントリの下に、それぞれ識別子、URL パターン、タイトルを持つ複数の URL ハンドラを定義できます。url_handlers
の指定方法の例を次に示します。
"url_handlers": {
"view_foo_presentation": {
"matches": [
"https://www.foo.com/presentation/view/*"
],
"title": "View Foo presentation"
},
"view_bar_presentation": {
"matches": [
"https://www.bar.com/view/slideshow/*"
],
"title": "View bar presentation"
},
"edit_spreadsheet": {
"matches": [
"https://www.foo.com/spreadsheet/edit/*",
"https://www.bar.com/spreadsheet/edit/*"
],
"title": "Edit spreadsheet"
}
}
アプリは、アプリが所有するドメイン内でのみ URL パターンを処理するために登録できます。つまり、Chrome ウェブストアによってそのアプリの所有権が証明されていると証明できます。この要件に違反し、外部 URL の処理の登録を試みたアプリは、アップロード時に Chrome ウェブストアで否承認となります。
これは自動的に、matches
のすべてのパターンに少なくとも完全なドメインを指定する必要があることを意味しています。同じでない場合、所有権を確認できません。
登録とインストールが正常に完了すると、他のアプリだけでなく、ブラウザタブ内の一致するすべてのナビゲーションについて、アプリが起動します。アプリは、一致したハンドラの識別子(上記の「view_foo_presentation」など)、移動先の URL、参照 URL を含む launchData オブジェクトを持つ、新しい種類の app.runtime.onLaunched イベントを受け取ります。
title
フィールドは、関連するすべての UI 要素で今後使用するために予約されています。このタイプの URL ハンドラを使用して起動時にアプリが実行するアクションを記述する必要があります。