パッケージ化プラグイン

このトピックでは、Brightcove Player バージョン 7.21.0 で導入された、コアとなるプレーヤー機能を管理する新しい方法であるパッケージ化プラグインについて説明します。これは Plugin Registry を置き換えるものです。

パッケージ化プラグインとは

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_idname に、versionis_packaged: true に置き換えられました。

プレーヤーのロード時にコア プラグインを「sideload」しなければならない場合はどうすればよいですか?

その必要は決してないはずであり、行わないことを推奨します。Brightcove のプレーヤー管理システムは、必要な機能をすべてコンパイルし、それらの機能を備えた動作可能なプレーヤーをユーザーへ配信するように設計されています。

例として:

  • 広告をサポートするために IMA3 プラグインを sideload するのではなく、ユーザーに広告を配信する必要がある場合は、IMA3 機能を有効にしたプレーヤーを使用してください。
  • 別の状況で広告が不要な場合は、IMA3 機能を有効にしていない別のプレーヤーを使用してください。
  • 両方のシナリオに対応するには、IMA3 を有効にしたプレーヤーを使用し、必要なときにだけプログラムで広告を設定してください。

カスタム プラグインやサードパーティ製プラグインはどうなりますか?

それらに関する機能は変更も削除もしていません。これらの変更は、plugin registry によって管理されるプラグインにのみ影響します。