パッケージ化プラグインとは
Advertising、Thumbnail Seeking、Playlists などのプレーヤー機能は、これまでプラグインとして提供され、その管理は Plugin Registry と呼ばれる別サービスで行われてきました。 Plugin Registry は当初、ユーザー操作なしで効率的にプレーヤー プラグインを管理できるよう設計されていました。 しかし長年の運用の中で、混乱やバージョン不整合が発生し、回避できたはずの問題につながることがありました。
よくある問題として、新しいプレーヤー バージョンに古いプラグイン バージョン(またはその逆)を組み合わせて使おうとするケースがありました。プラグインが特定のプレーヤー機能に依存している場合、その機能が想定と異なる、または存在しない可能性があり、予期しない動作や障害につながります。たとえば、ブラウザーが「音声付き自動再生」をデフォルトでブロックするよう移行した際、広告機能でこの例が複数見られました。
機能をプレーヤーのコアに取り込むことで、使用されるコードがプレーヤーに適したバージョンであることを担保できます。別のバージョンが存在しなくなるためです。これは、期待どおりに動作することがテストされたプレーヤーの一部となります。
現在サポートされているパッケージ化プラグイン
| Brightcove プラグイン | Registry ID(旧) | パッケージ プラグイン名 | 最低プレーヤー バージョン |
|---|---|---|---|
| Thumbnail Seeking | @brightcove/videojs-thumbnails | thumbnails | 7.21.0 |
| IMA3 | @brightcove/videojs-ima3 | ima3 | 7.21.0 |
| SSAI | @brightcove/videojs-ssai | ssai | 7.21.0 |
| Custom Endscreen | @brightcove/videojs-custom-endscreen | customEndscreen | 7.21.0 |
| Social Sharing | @brightcove/videojs-social | social | 7.21.0 |
| Quality Selection | @brightcove/videojs-quality-menu | qualityMenu | 7.21.0 |
| Playlist UI | @brightcove/videojs-bc-playlist-ui | bcPlaylistUi | 7.21.0 |
| Chromecast Sender | @brightcove/videojs-chromecast-receiver | chromecastSender | 7.25.0 |
| Google IMA DAI Plugin | @brightcove/videojs-ima-dai | imaDai | 7.25.0 |
| Kollective eCDN Plugin | @brightcove/videojs-kollective | kollective | 7.25.0 |
| Pinning Plugin | @brightcove/videojs-pip | pinning | 7.25.0 |
| Tealium Plugin for Brightcove Player | @brightcove/videojs-bc-tealium | bcTealium | 7.25.0 |
| Google Tag Manager Plugin | @brightcove/videojs-bc-gt | bcGtm | 7.25.0 |
| Google Analytics Plugin | @brightcove/videojs-bc-ga | bcGa | 7.25.0 |
| AirPlay Plugin | @brightcove/videojs-bc-airplay | bcAirplay | 7.25.0 |
| Adobe Analytics Plugin | @brightcove/videojs-bc-aa | bcAa | 7.25.0 |
| AMP Plugin | videojs-amp-support | ampSupport | 7.25.0 |
プレーヤーバージョン Y でプラグインバージョン X を使う必要がある場合はどうすればよいですか?
その必要はないはずです!パッケージ化プラグインの考え方は、利用している機能がプレーヤー バージョンと 100% 互換であることを保証する点にあります。別バージョンを使おうとすることは、この考え方に反します。
パッケージ化プラグインを使用しているかどうかは、どうすれば分かりますか?
Registry plugin - この JSON には injected_versions、scripts、stylesheets が含まれていない点に注目してください。Registry がこれを動作させていました:
"plugins": [{
"registry_id": "@brightcove/videojs-custom-endscreen",
"version": "3.x",
"options": {
"content": ""
}
}],
同じ機能のパッケージ化プラグイン版:
"plugins": [{
"name": "customEndscreen",
"is_packaged": true,
"options": {
"content": ""
}
}],
パッケージ化プラグインでは、registry_id が name に、version が is_packaged: true に置き換えられました。
プレーヤーのロード時にコア プラグインを「sideload」しなければならない場合はどうすればよいですか?
その必要は決してないはずであり、行わないことを推奨します。Brightcove のプレーヤー管理システムは、必要な機能をすべてコンパイルし、それらの機能を備えた動作可能なプレーヤーをユーザーへ配信するように設計されています。
例として:
- 広告をサポートするために IMA3 プラグインを sideload するのではなく、ユーザーに広告を配信する必要がある場合は、IMA3 機能を有効にしたプレーヤーを使用してください。
- 別の状況で広告が不要な場合は、IMA3 機能を有効にしていない別のプレーヤーを使用してください。
- 両方のシナリオに対応するには、IMA3 を有効にしたプレーヤーを使用し、必要なときにだけプログラムで広告を設定してください。
カスタム プラグインやサードパーティ製プラグインはどうなりますか?
それらに関する機能は変更も削除もしていません。これらの変更は、plugin registry によって管理されるプラグインにのみ影響します。