Chrome 拡張機能の変更内容

拡張機能チームにとって、1 年の最初の 3 か月は生産的でした。このたび、重要なアップデートと新機能をリリースいたしましたので、お知らせいたします。しかし、大きな期待が寄せられていた Chrome ウェブストアの新機能が、サイト公開の利便性を高めるものです。

Chrome ウェブストア バージョンのロールバック

先週、Chrome ウェブストアに、古いバージョンの拡張機能にすばやく戻るための新機能が追加されました。最新のアップデートが予定どおりに実行されなかった場合に迅速に修正したい場合は、以前のバージョンの新しいバージョン番号とその理由をお知らせください。以前のバージョンは数分で公開されます。アイテムの審査を待つ必要はありません。それにより、ユーザーはすぐに機能するバージョンを入手できます。

バージョンのロールバックの詳細をリクエストするモーダル。
バージョンのロールバックに関するモーダル リクエストの詳細。

バージョンのロールバックの仕組みについて詳しくは、以前のバージョンに戻す方法については、ブログ投稿手順ガイドをご覧ください。

Firebase Auth SDK が拡張機能をサポート

2 月、Firebase チームは JS SDK v10.8.0 リリースで初の Web Extensions エントリ ポイントをリリースしました。Firebase Auth にリモートでホストされるコードを使用しているために、一部の拡張機能が Chrome ウェブストアで否承認になるという、長年にわたる問題に対処しています。

Firebase SDK の新しい Web Extensions バージョンには必要なコードがすべてバンドルされているため、リモート ホスティングが不要になります。これにより、拡張機能のデベロッパーが直面したポリシー コンプライアンスの課題が解決されます。この変更は特に Firebase Auth に適用されますが、他の拡張機能固有の問題に対処するための準備が整います。

Firebase チームは、この待望のソリューションを提供するために、拡張機能のデベロッパー コミュニティと緊密に連携しました。継続的なコラボレーションを重視しており、Firebase SDK を拡張機能向けにさらに最適化する方法について、拡張機能のデベロッパーの皆様からのフィードバックをお待ちしています。詳しくは、拡張機能の Google グループ投稿における PSA に関するお知らせをご覧ください。

その他の API のリリース

  • Chrome 124 以降、Service Worker は WebGPU に対応しています。これにより、AI 拡張機能の構築に関心があるデベロッパーの実装エクスペリエンスが向上します。クイック スタートについては、WebGPU 拡張機能のサンプルをご覧ください。
  • Chrome 123 では、デバイスがスリープ状態になったときに、Alarms API を使用して設定したアラームが遅延しなくなりました。デバイスが復帰すると、何回アラームを鳴らしていなくても、アラームが 1 回鳴ります。
  • ページの存続期間を通じてポートを開いたままにしている場合は、ページが復元されたときに再接続するための変更が必要になることがあります。Chrome 123 で行われた bfcache の動作の変更については、BFCache の変更に関するブログ投稿をご覧ください。
  • Events API での CIDR ブロック フィルタリング: Chrome 123 では、クラスレス ドメイン間ルーティング(CIDR)ブロックを使用して、より効率的なイベント フィルタリングを行えるようになりました。この更新により、範囲内の IP アドレスごとに個別のフィルタルールを作成するという面倒な作業が不要になります。CIDR 表記を採用すると、IP アドレスの範囲を簡潔に指定できるため、IP 範囲ごとにイベント トリガーを効率的に管理できます。
  • Chrome 123 では、tabs.Tab のプロパティ windowId の値を -1 にすることで、そのタブがブラウザ ウィンドウに属していないことを示すことができます。これは多くの場合、プリレンダリングされるタブの場合です。タブはブラウジングを高速化するためにバックグラウンドで読み込まれますが、どのウィンドウにもまだ表示されません。
  • WebAuthn API: 拡張機能がホスト権限を持っているウェブサイトの RP ID をアサートできるようになりました。詳しくはメールをご覧ください。
  • 関数のシグネチャが Promise と互換性がない場合(chrome.desktopCapture.chooseDesktopMedia() など)を除き、すべての非同期 Chrome API メソッドで Promise を使用して簡単に使用できるようになります。下位互換性のためにコールバックは引き続き機能します。

今後の機能

今後の計画では、UserScripts API にさらに機能を追加する予定です。userScripts.execute() について詳しくは、こちらの WECG 提案をご覧ください。

ドキュメントの更新情報

  • ウェブプッシュ ガイドでは、プッシュ通知を追加して、プッシュ プロバイダを使用してサーバーから拡張機能 Service Worker にメッセージを送信する方法について説明します。
  • Puppeteer を使用して Service Worker の終了をテストする: このガイドでは、Puppeteer を使用して Chrome 拡張機能の Service Worker をテストする方法について説明します。テストスイートを設定し、Service Worker のメッセージを検証するテストの作成、Service Worker の予期しない終了処理、堅牢な Service Worker のコードを作成するためのベスト プラクティスについて学びます。
  • Chrome Web Store Publish API のドキュメントが更新されました。この API を使用すると、Chrome ウェブストアで拡張機能をプログラムで作成、更新、公開できます。新しいドキュメントでは、アクセス トークンの取得、OAuth 2.0 Playground による HTTP リクエストなどについて説明します。Chrome ウェブストアの公開ワークフローを効率化するために、ぜひチェックしてください。
  • documentScan API リファレンス ページが最近更新され、ChromeOS 拡張機能の詳細スキャンのユースケースが追加されました。

3 月の WECG 交流会の最新情報

3 月には、Safari、Firefox、Edge の代表者と会ったほか、第 1 回 Web Extensions Community Group のサミットで多くの主要な拡張機能についても会合しました。カリフォルニア州サンディエゴの Apple チームが主催する WECG では、ユーザーのプライバシーとデベロッパーのニーズのバランスを取ることを目的として、プラットフォームの不整合や権限システムの微妙な側面を改善する方法について説明しました。このイベントは、9 月にカリフォルニア州アナハイムで開催される TPAC 2024 で再び開催できることを楽しみにしています。

構文ポッドキャスト

当チームの Oliver が最近、「Syntax」ポッドキャストにゲストとして出演しました。Manifest V3 の変更点に関する情報や、Chrome ウェブストアなどで最新情報をチェックしましょう。

🗃?️ Chrome 拡張機能を解凍するレビュー

Google は Chrome ウェブストアの審査チームと対面で会い、審査プロセスの複雑さに関する動画を撮影しました。拡張機能に関するフォーラムの投稿に寄せられた質問とフィードバックをすべて収集し、当日に活用しました。このセッションは、Chrome for Developers の YouTube チャンネルで紹介されます。

今後とも、拡張機能のコミュニティをよろしくお願いいたします。❤️