Chrome 拡張機能は、ウェブ テクノロジーを基盤に開発された、ユーザーのブラウザ エクスペリエンスをカスタマイズするためのソフトウェア プログラムです。
拡張機能はサンドボックス環境で実行されますが、ウェブ コンテンツとやり取りできるため、次のような教育関連のユースケースに適しています。
- ブラウザのフィルタリングとモニタリング
- 数式や方程式などの特殊文字を挿入する
- コンテンツの拡充(スペルミスや文法ミスを特定するなど)
- ポリシーの適用(ソーシャル メディアの利用時間を制限するなど)
Chromebook で教育ユースケース向けのソリューションを構築する際は、拡張機能、ウェブアプリ、またはその両方を作成できます。クロスサイト コンテキストでプログラムを実行する必要がある場合は、拡張機能が適しています。拡張機能は、所有していないウェブアプリとやり取りできます。たとえば、拡張機能が Google ドキュメントの文法ミスを検出し、修正するためのコメントや提案を表示することがあります。別の拡張機能を使用すると、生徒がウェブページでハイライト表示したテキストを 1 つのドキュメントに集約して、メモを取る際に役立てることができます。
プログラムを他のウェブサイトで実行する必要がない場合は、ウェブアプリを作成する方が適している可能性があります。ウェブアプリがある場合、ウェブ プラットフォームで利用できない機能や API を提供することで、コンパニオン拡張機能によってユーザー エクスペリエンスを向上させることができます。
Chrome アプリの移行
以前に Chrome アプリを使用していた場合は、ウェブアプリに移行することを強くおすすめします。Chrome アプリはサポート終了となりますが、ChromeOS では少なくとも 2025 年 1 月までサポートされます。移行期間中は、Chrome アプリの一部の機能に適切なウェブ プラットフォームの同等機能がない場合があります。これらの場合、メッセージ パッシングを介して同様の結果を得るには、ウェブアプリとともに拡張機能を実装する必要がある場合があります。たとえば、PWA キオスク アプリケーションでキオスクモード固有の API を利用する場合などです。
ChromeOS 拡張機能の開発
Chrome デベロッパーのウェブサイトには、Chrome 拡張機能の開発を始めるための優れたスタートガイドがあります。公式の Chrome GitHub リポジトリで入手できるサンプルも確認してください。
API
拡張機能を開発する際には、構築する機能を実現するのに役立つ多くの API があります。
また、Chrome OS 専用の API もいくつかあります。
fileBrowserHandlerは ChromeOS ファイル ブラウザを拡張しますfileSystemProviderは、ChromeOS のファイル マネージャーからアクセスできる仮想ファイル システムを作成します。input.imeChromeOS 用のカスタム IME を実装idle.getAutoLockDelayは、アイドル状態の画面が自動的にロックされるまでの時間(秒単位)を返します。
公開とホスティング
拡張機能の作成が完了したら、ユーザーがインストールして使用できるように公開します。公式にサポートされている配信メカニズムは、Chrome ウェブストアとセルフホスティングの 2 つです。
Chrome ウェブストアでは、拡張機能を世界中のユーザーに公開できます。拡張機能は Chrome ウェブストアでホストされ、署名されるため、ストアのポリシーも遵守する必要があります。注意すべきポリシーの 1 つに「単一目的」ポリシーがあります。このポリシーでは、拡張機能の主題またはブラウザ機能に関して、拡張機能の目的は 1 つのみであることが求められています。拡張機能を一般公開したくない場合は、拡張機能を非公開または限定公開として登録することもできます。これにより、ドメイン内のユーザーまたは設定可能な信頼できるテスターのグループにアクセスを制限できます。
セルフホスティング拡張機能は、教育機関などの管理環境でよく使用されます。このような環境では、システム管理者がポリシーを実装して、学校が発行したデバイスを制御できます。拡張機能をセルフホストするかどうかを決定する際は、独自のサーバーで拡張機能をホストする場合のセットアップとセキュリティのトレードオフを考慮してください。拡張機能を適切にパッケージ化してホストしたら、セルフホスト型拡張機能の XML マニフェスト ファイルの URL を共有する必要があります。これにより、管理者はポリシーを追加して、管理対象デバイスに拡張機能を強制的にインストールできるようになります。
管理対象の拡張機能
多くの場合、拡張機能は管理対象デバイスの生徒によって使用されます。管理者が生徒のデバイスに適用する可能性のある管理ポリシーと、それらが拡張機能の機能にどのような影響を与える可能性があるかを理解しておくことが重要です。
- 拡張機能を特定のバージョンに固定します。
- 外部拡張機能(Chrome ウェブストアにない拡張機能)のインストールをブロックします。
- ブロックまたは許可するホストのリストを追加します。これにより、拡張機能がそれらの URL のウェブページを変更できるかどうかを制御します。
- 特定の権限をリクエストする拡張機能をブロックします。