Skip to main content
ここでは、Chrome/Edge 拡張機能プロジェクトに Mellowtel ライブラリを実装する方法を紹介します。 完了までの推定時間: 5-7 分。

ブラウザポリシーへの準拠

Mellowtel は、統合がユーザーの選択と設定を尊重する場合、ブラウザポリシーに準拠しています。 公式の Mellowtel プラグインは Chrome と Edge で利用可能です。近いうちに他の主要なブラウザにも提出する予定です。 Chrome: https://chromewebstore.google.com/detail/support-with-mellowtel/jngbedjpioeongcicaomeideeompcbcc Edge: https://microsoftedge.microsoft.com/addons/detail/support-with-mellowtel/chpomjnojnimgcaomhmcmfgjinfoekhi Chrome では、一部の開発者が単一目的ポリシーに関する問題に直面することがあります。このポリシーは、プラグインが明確に述べられた 1 つの機能のみを持つことを要求します(ただし、多機能拡張機能では一貫性なく解釈されることがよくあります)。 そのような場合、開発者は個人リンクを共有し、ユーザーに公式の Mellowtel Chrome プラグインをインストールするよう依頼することをお勧めします。このプラグインは、ユーザーがアイドルリソースを共有することによって開発者をサポートすることを目的としています。 開発者は Mellowtel ダッシュボード からリンクを作成し、公式の Mellowtel Chrome プラグイン にユーザーをリダイレクトできます。 代わりに、AI 帯域幅共有スペースで動作する Chrome プラグインを持っていて、それがプラグインの単一の目的である場合、Mellowtel を直接プラグインに統合できます。 一方、Edge、Firefox、または Safari にはこのポリシーがないため、開発者はライブラリを製品に直接統合し、ユーザーにサポートするかどうかを尋ね、いつでもプラグイン自体から設定を簡単に変更できる方法を提供することができます。

推奨ブラウザ

現時点では、Mellowtel を Edge プラグインに統合することをお勧めします。Firefox と Safari バージョンのライブラリの最適化にまだ取り組んでいるためです。

要件

始める前に、次のことを確認してください:
  1. プラグインが Manifest V3 を使用していること。
  2. コードが Webpack、Rollup、または他のバンドラーを使用してコンパイルされた方法で整理されていること。 バンドラーが設定されていない場合は、まず こちら のガイドに従ってください。

npm パッケージのインストール

npm パッケージをインストールするには、ターミナルで次のコマンドを実行します:
パッケージマネージャーとして yarn を使用している場合は、次のコマンドを実行できます:

実装方法を決定する

拡張機能にライブラリを実装する方法は 2 つあります。 Web ストアで初めて拡張機能をリリースする場合は、オプション 1 に従ってください。 すでに Web ストアで拡張機能を公開している場合は、「どのように決定するか」をお読みください。

どのように決定するか?

Web ストアから拡張機能をインストールすると、「すべてのウェブサイトでデータを読み取り、変更する」権限を求める警告ウィンドウが表示されますか? このように表示されます:
もし表示される場合は、オプション 1 に従ってください。表示されない場合は、オプション 2 に従う必要があります。

オプション 1

Web ストアで初めて拡張機能をリリースする場合、またはすべてのウェブサイトで操作する権限を求める拡張機能にライブラリをインポートする場合は、オプション 1 に従うことができます。

マニフェストを設定する

manifest.json ファイルで、permissionshost_permissions セクションを次のように変更します:

サービスワーカー(バックグラウンドスクリプト)を設定する

サービスワーカー ファイルで、mellowtel パッケージをインポートする必要があります。 注意: サービスワーカーは background script とも呼ばれます。 次のコードをコピーしてサービスワーカーファイルに貼り付け、configuration_key を自分のキーに変更します。
mellowtel パッケージをインポートする
その後、Mellowtel(configuration_key, options?) を使用して Mellowtel オブジェクトの新しいインスタンスを作成できます。Mellowtel オブジェクトは Mellowtel の SDK へのエントリーポイントです。この関数を呼び出す際には configuration_key が必要であり、これは Mellowtel に対する拡張機能を識別します。configuration_keyダッシュボード で見つけることができます。
initBackground メソッドを呼び出して Mellowtel を初期化します。このメソッドは Mellowtel オブジェクトを初期化し、必要なリスナーを設定します。

コンテントスクリプトを設定する

コンテントスクリプト にも mellowtel パッケージをインポートする必要があります。 このコンテントスクリプトは all_frames<all_urls>document_start に実行される必要があります。 新しいコンテントスクリプト(例: content_start_mellowtel.js)を作成し、次のコードをコピーして貼り付けることをお勧めします。 configuration_key を自分のキーに変更します。
次に、このコンテントスクリプトを manifest.json ファイルの content_scripts セクションに、すでにある他のコンテントスクリプトと一緒に追加することを忘れないでください。 name_of_your_content_script.js を選んだ名前に変更して、次のコードをコピーして貼り付けることができます。

オプトイン/オプトアウトロジックを設定する

Mellowtel を有効にするには、ユーザーがサービスに明示的にオプトインする必要があります。 オプトイン/オプトアウトロジックを実装する方法は 2 つあります:
  1. Mellowtel が提供する事前構築されたページを使用した推奨実装を使用する。
  2. 独自のカスタムオプトイン/オプトアウト要素を作成し、こちら に示されている方法を使用する。
独自のオプトイン/オプトアウト要素を作成することを選択した場合は、Mellowtel Elements を使用することを検討してください。これは、最小限の統合努力でユーザーの同意と設定を処理する事前構築された UI コンポーネントです。
推奨実装を使用する場合は、service worker ファイル(バックグラウンドスクリプトとも呼ばれる)を開き、次のコードを追加します:

設定リンクを生成する

ユーザーが帯域幅を完全に制御できるようにするために、いつでも設定を変更できる簡単にアクセス可能な方法を残すことが求められます。 generateSettingsLink() メソッドを使用してリンクを生成できます。 このメソッドは、ユーザーがいつでもオプトインまたはオプトアウトするかを決定できる Mellowtel 設定ページを開くリンクを返します。 このリンクは、ポップアップ、オプションページ、またはユーザーが簡単にアクセスできる他の場所に配置する必要があります。 例えば、次のように openSettings() 関数内に配置できます。ボタンクリックや他の関連イベントで openSettings() を呼び出すことができます:
完璧です!これで拡張機能を Web ストアに送信する準備が整いました。拡張機能を提出する方法 を見るためにこちらのガイドに従ってください。

オプション 2

オプション 2 は、正しく実装されないと拡張機能を無効にする可能性があります。そのため、すべてのユーザーに利用可能ではありません
オプション 1 を実装できない場合は、Discord でお問い合わせください。