権限に関する警告のガイドライン

Chrome 拡張機能により、ユーザーのブラウザ エクスペリエンスが向上します。そのためには、特定の権限を必要とする Chrome API を使用します。一部の権限は邪魔にならず、警告は表示されません。その他の権限については、ユーザーが許可する必要があるという警告が表示されます。このページでは、権限の警告に対処するためのガイドラインについて説明します。特定の警告は、適用される権限の下の [権限] に記載されます。

ユーザーが新しい拡張機能を追加したときに表示される権限の警告の例
図 1: インストール時に表示される権限の警告ダイアログ。

警告をトリガーする新しい権限が追加されると、ユーザーが新しい権限を承認するまで、拡張機能は無効になります。この動作をテストする方法については、権限の更新をご覧ください。

ユーザーが新しい権限を許可するまで無効になる拡張機能の例。
図 2: ユーザーが新しい権限を承認するまで無効になる拡張機能。

権限によっては、他の権限と組み合わせた場合、警告が表示されないことがあります。たとえば、拡張機能が "<all_urls>" もリクエストしている場合、"tabs" 警告は表示されません。

ベスト プラクティス

権限に関する警告は、API で付与される機能を説明するものですが、一部の警告は他の警告よりもわかりにくいものです。次のガイドラインに従うと、ユーザーが拡張機能をインストールする可能性が高くなります。

関連する権限をリクエストする
拡張機能は、単一の目的を果たし、権限の使用に関するポリシーに準拠するために必要です。拡張機能の主な機能をサポートする権限のみをリクエストしてください。
オプションの権限を使用する
実行時に権限をリクエストすることで、オンボーディング エクスペリエンスを改善します。これにより、特定の権限に関する詳しいコンテキストを提供し、有効にする機能をユーザーが選択できるようになります。実装の詳細については、Permissions API をご覧ください。
「activeTab」権限を使用する
この権限では、権限の警告は表示されません。ユーザーがアクセスしているサイトに一時的なホスト権限を付与します。詳しくは、activeTab 権限についてをご覧ください。

警告を表示

拡張機能の権限に関する警告は、次のいずれかの方法で表示できます。

拡張機能の更新テストツールを使用する

始める前に

  1. Node.js と NPM をインストールします。
  2. Chromium をインストールします。
  3. extension-update-testing-tool リポジトリのクローンを作成します。
  4. リポジトリのルートで npm install を実行します。

ツールの使用

  1. npm start を実行します。
  2. Chromium で http://localhost:8080 にあるローカル サーバーを開きます。
  3. 解凍した拡張機能(フォルダまたは .zip ファイル)をページにドラッグします。
  4. [手動でインストールする] の手順に沿って、拡張機能をダウンロードしてインストールします。

拡張機能を手動でパッケージ化する

  1. chrome://extensions に移動します。
  2. デベロッパー モードを有効にする
  3. [拡張機能のパッケージ化] をクリックします。
    拡張機能をパッケージ化
    図 3: 拡張機能の管理ページで有効になっているデベロッパー モード
  4. 拡張機能のルート ディレクトリのフィールドに拡張機能のフォルダのパスを指定します。初回パッケージの場合は [秘密鍵] フィールドを無視します。
  5. [Pack Extension] ボタンをクリックします。

    拡張機能のパスを指定し、[拡張機能をパッケージ化] をクリックします。
    図 4: 拡張パスの指定
  6. Chrome で .crx ファイルと .pem ファイルの 2 つのファイルが作成されます。.pem ファイルには、拡張機能への署名に使用される秘密鍵が含まれています。これらのファイルが保存されたディレクトリを必ず覚えておいてください。

    パッケージ化された拡張機能ファイル
    図 5: パッケージ化された拡張機能ファイル
  7. .pem ファイルは拡張機能の更新に必要となるため、秘密の安全な場所に保管してください。

  8. 拡張機能の管理ページに .crx ファイルをドロップしてインストールします。

    ファイルをドロップしてインストールします
    図 6: ファイルをドロップしてインストールする
  9. .crx ファイルをドロップすると、ブラウザは拡張機能を追加できるかどうかを尋ね、警告を表示します。

    新しいタブ拡張機能に関する警告
    図 7: 新しいタブ拡張機能の警告

許可を更新

拡張機能が警告をトリガーする新しい権限を追加すると、その権限が一時的に無効になることがあります。ユーザーが新しい権限に同意した後にのみ、拡張機能が再び有効になります。

新しい権限を追加したときに拡張機能が無効になるかどうかを確認するには、次の方法があります。

拡張機能更新テストツールを使用して更新する

以下の手順は、拡張機能更新テストツールを使用するの手順でサーバーを起動したことを前提としています。

ツールの使用

  1. 新しい警告付き権限を追加します。
  2. 拡張機能のバージョン番号を増やします。
  3. 解凍した拡張機能(フォルダまたは .zip ファイル)をページにドラッグします。
  4. chrome://extensions に移動します。
  5. [更新] ボタンをクリックします。

拡張機能を手動で更新する

  1. [View Warnings] で、先ほど作成した .crx ファイルを探します。
  2. 名前を変更するか、削除します。
  3. manifest.json を開き、警告をトリガーする権限を追加します。
  4. chrome://extensions に移動します。以前にインストールしたパッケージを削除しないでください
  5. 拡張機能をもう一度パッケージ化しますが、今回は 2 番目の入力に pem ファイルを追加します。
    拡張機能のパッケージ化時に . .pem ファイルが追加される
    図 8: pem ファイルが組み込まれた拡張機能のパッケージ化ダイアログ
  6. 新たにパッケージ化された拡張機能を [拡張機能の管理] ページにドラッグします。
  7. ユーザーに新しい権限の承認を求めるダイアログが表示されます。

    拡張機能を無効にしました

    図 9: 拡張機能の無効化に関する警告

    権限に同意する
    図 10: 新しい権限のリクエスト ダイアログ