Chrome 拡張機能の変更内容

今年の最初の 3 か月間、拡張機能チームは成果を上げてきました。このたび、いくつかの重要な更新と新機能をリリースしましたので、お知らせいたします。しかし、Chrome ウェブストアに追加される機能の一つが、公開作業を効率化する機能として非常に期待されています。

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

先週、Chrome ウェブストアに、拡張機能の古いバージョンに簡単に戻れる新機能が追加されました。最新のアップデートが想定どおりに進まず、迅速に修正したい場合は、以前のバージョンの新しいバージョン番号とその理由を指定します。以前のバージョンは数分以内に公開されます。アイテムの審査を待つ必要はありません。これにより、ユーザーはすぐに動作するバージョンを入手できます。

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

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

Firebase Auth SDK で拡張機能がサポートされるようになりました

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

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

Firebase チームは、この待望のソリューションを提供するために、拡張機能デベロッパー コミュニティと緊密に連携しました。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 をアサートできるようになりました。コンテキストについては、メールをご覧ください。
  • すべての非同期 Chrome API メソッドは、関数シグネチャがプロミスと互換性がない(chrome.desktopCapture.chooseDesktopMedia() など)場合を除き、プロミスをサポートしているため、簡単に使用できます。コールバックは下位互換性のために引き続き機能します。

近日提供予定の機能

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

ドキュメントの更新情報

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

WECG 3 月のミートアップの最新情報

3 月に、このチームは Safari、Firefox、Edge の代表者、および多くの主要な拡張機能の代表者と、初のウェブ拡張機能コミュニティ グループ サミットで会合しました。カリフォルニア州サンディエゴの Apple チームが主催した WECG では、ユーザーのプライバシーとデベロッパーのニーズとのバランスをとることを目的として、プラットフォームの不整合を改善する方法や、権限システムの微妙な側面について説明しました。イベントの成功に満足しています。Google チームは、今年 9 月にカリフォルニア州アナハイムで開催される TPAC 2024 で再びお会いできることを楽しみにしています。

Syntax ポッドキャスト

先日、Google のチームメンバーである Oliver が Syntax ポッドキャストにゲストとして出演しました。Manifest V3 の変更点、Chrome ウェブストアでの確認方法などについて説明します。

🗃?️ Chrome 拡張機能の審査の詳細

Chrome ウェブストアの審査チームに直接会い、審査プロセスの複雑さについて動画を撮影しました。皆様から寄せられた質問とフィードバックを、こちらの拡張機能のフォーラム投稿にまとめ、当日使用しました。このセッションは Chrome for Developers YouTube チャンネルで公開されます。

拡張機能コミュニティにご参加いただき、誠にありがとうございました。今後ともよろしくお願いいたします。❤️