Chrome 拡張機能により、ユーザーのブラウザ エクスペリエンスが向上します。そのためには、特定の権限を必要とする Chrome API を使用します。一部の権限は邪魔にならず、警告は表示されません。その他の権限については、ユーザーが許可する必要があるという警告が表示されます。このページでは、権限の警告に対処するためのガイドラインについて説明します。特定の警告は、適用される権限の下の [権限] に記載されます。
警告をトリガーする新しい権限が追加されると、ユーザーが新しい権限を承認するまで、拡張機能は無効になります。この動作をテストする方法については、権限の更新をご覧ください。
権限によっては、他の権限と組み合わせた場合、警告が表示されないことがあります。たとえば、拡張機能が "<all_urls>"
もリクエストしている場合、"tabs"
警告は表示されません。
ベスト プラクティス
権限に関する警告は、API で付与される機能を説明するものですが、一部の警告は他の警告よりもわかりにくいものです。次のガイドラインに従うと、ユーザーが拡張機能をインストールする可能性が高くなります。
- 関連する権限をリクエストする
- 拡張機能は、単一の目的を果たし、権限の使用に関するポリシーに準拠するために必要です。拡張機能の主な機能をサポートする権限のみをリクエストしてください。
- オプションの権限を使用する
- 実行時に権限をリクエストすることで、オンボーディング エクスペリエンスを改善します。これにより、特定の権限に関する詳しいコンテキストを提供し、有効にする機能をユーザーが選択できるようになります。実装の詳細については、Permissions API をご覧ください。
- 「activeTab」権限を使用する
- この権限では、権限の警告は表示されません。ユーザーがアクセスしているサイトに一時的なホスト権限を付与します。詳しくは、activeTab 権限についてをご覧ください。
警告を表示
拡張機能の権限に関する警告は、次のいずれかの方法で表示できます。
拡張機能の更新テストツールを使用する
始める前に
- Node.js と NPM をインストールします。
- Chromium をインストールします。
- extension-update-testing-tool リポジトリのクローンを作成します。
- リポジトリのルートで
npm install
を実行します。
ツールの使用
npm start
を実行します。- Chromium で http://localhost:8080 にあるローカル サーバーを開きます。
- 解凍した拡張機能(フォルダまたは .zip ファイル)をページにドラッグします。
- [手動でインストールする] の手順に沿って、拡張機能をダウンロードしてインストールします。
拡張機能を手動でパッケージ化する
chrome://extensions
に移動します。- デベロッパー モードを有効にする
- [拡張機能のパッケージ化] をクリックします。
- 拡張機能のルート ディレクトリのフィールドに拡張機能のフォルダのパスを指定します。初回パッケージの場合は [秘密鍵] フィールドを無視します。
[Pack Extension] ボタンをクリックします。
Chrome で
.crx
ファイルと.pem
ファイルの 2 つのファイルが作成されます。.pem
ファイルには、拡張機能への署名に使用される秘密鍵が含まれています。これらのファイルが保存されたディレクトリを必ず覚えておいてください。.pem
ファイルは拡張機能の更新に必要となるため、秘密の安全な場所に保管してください。拡張機能の管理ページに
.crx
ファイルをドロップしてインストールします。.crx
ファイルをドロップすると、ブラウザは拡張機能を追加できるかどうかを尋ね、警告を表示します。
許可を更新
拡張機能が警告をトリガーする新しい権限を追加すると、その権限が一時的に無効になることがあります。ユーザーが新しい権限に同意した後にのみ、拡張機能が再び有効になります。
新しい権限を追加したときに拡張機能が無効になるかどうかを確認するには、次の方法があります。
拡張機能更新テストツールを使用して更新する
以下の手順は、拡張機能更新テストツールを使用するの手順でサーバーを起動したことを前提としています。
ツールの使用
- 新しい警告付き権限を追加します。
- 拡張機能のバージョン番号を増やします。
- 解凍した拡張機能(フォルダまたは .zip ファイル)をページにドラッグします。
chrome://extensions
に移動します。- [更新] ボタンをクリックします。
拡張機能を手動で更新する
- [View Warnings] で、先ほど作成した
.crx
ファイルを探します。 - 名前を変更するか、削除します。
manifest.json
を開き、警告をトリガーする権限を追加します。chrome://extensions
に移動します。以前にインストールしたパッケージを削除しないでください。- 拡張機能をもう一度パッケージ化しますが、今回は 2 番目の入力に pem ファイルを追加します。
- 新たにパッケージ化された拡張機能を [拡張機能の管理] ページにドラッグします。
ユーザーに新しい権限の承認を求めるダイアログが表示されます。