ガイド:広告パートナーの統合
概要
たとえば、広告システムが Google IMA3 に準拠している場合、この情報は必要ありませんが、IMA3 プラグインによる広告ガイドに記載されている IMA3 用の既存のプラグインを使用できます。
この機能が必要と判断された場合、このコンテンツでは、Brightcove Player との広告統合に必要な広告 API フレームワークについて説明します。ブライトコーブが作成したこのフレームワークの実装は、Google の IMA3 と FreeWheel(次の段落で示す参照ドキュメント)の 2 つです。
この文書は、既存の広告フレームワークを動画で使用したいと考えているお客様向けではありません。これらの顧客に適したドキュメントは次のとおりです。
広告フレームワーク機能
ブライトコーブは、カスタム広告プラグインの基礎として、広告 API フレームワークを提供しています。このフレームワークは、Brightcove Player と連携する動画広告ライブラリに必要な共通機能を提供し、広告統合のために記述する必要があるコードを削減します。フレームワークは、ビルドできるオープンソースプロジェクトとして提供されます。プロジェクトコードは、 GitHubリポジトリvideojs-contrib-adsから入手できます。
広告フレームワークを使用すると、広告パートナーは次のことを実行できます。
- 広告エクスペリエンス(広告再生中のプレイヤーの外観と行動など)を完全に制御できます。
- カスタムまたはプロプライエタリな広告サーバーで動作します。
- 広告リクエストのタイミングやクリエイティブのバッファリング方法など、低レベルの広告実装の詳細を管理します。
- 動画分析プロバイダーや Brightcove Player エコシステムと簡単に相互運用できます。
基礎知識
広告 API フレームワークを使用して構築するには、Brightcove Player プラグインアーキテクチャを十分に理解する必要があります。この知識は、次のドキュメントに記載されています。
必要に応じて、ブライトコーブの視点から見た動画広告の簡単な概要はこちらをご覧ください。
フレームワークの使用
次のセクションでは、フレームワークの使用について詳しく説明します。
フレームワークリソースを含める
プラグインを使用するには、まずプラグインの CSS と JavaScript を含める必要があります。
<link rel="stylesheet" href="//mypath/videojs.ads.css">
<script src="//mypath/videojs.ads.js"></script>
JavaScript を含めると、関数を呼び出して広告フレームワークを初期化できます。
<script type="text/javascript">
videojs.getPlayer('myPlayerID').one('loadedmetadata', function(){
var myPlayer = this;
// Initialize the ad framework
myPlayer.ads();
});
</script>
構成オプション
フレームワークにはいくつかの設定オプションがあります。たとえば、timeout
オプションがあります。このオプションを設定するには、次のコードを使用します。
<script type="text/javascript">
videojs.getPlayer('myPlayerID').one('loadedmetadata', function(){
var myPlayer = this;
// Initialize the ad framework
myPlayer.ads({
"timeout": 3000
});
});
</script>
次の表に、オプションのリストを示します。
オプション | タイプ | デフォルト | 説明 |
---|---|---|---|
timeout |
番号 | 5000 | 広告の実装が再生前に初期化されるまで待機する最大時間(ミリ秒単位) |
prerollTimeout |
番号 | 1000 | 広告の実装がプリロールを開始するまで待機する最大時間(ミリ秒単位) |
postrollTimeout |
番号 | 100 | 広告実装がポストロールを開始するまで待機する最大時間(ミリ秒単位) |
debug |
ブール値 | 偽 | デバッグがtrueに設定されている場合、広告プラグインは再生中に現在の状態に関する追加情報を出力します |
イベント
次のイベントは、2 つの異なるタイプにグループ化されています。グループとその説明を次に示します。
ザ・adstart
そしてadend
イベントは、アドインテグレーターからのメソッド呼び出しに応答してフレームワークによってトリガーされます。これらのイベントは、広告インテグレーターによって直接トリガーされるべきではありません。
イベント | 説明 |
---|---|
adstart | プレーヤーがリニア広告再生モードに入りました |
adend | プレーヤーがリニア広告再生モードから復帰しました |
adskip
adtimeout
イベントとイベントは、広告インテグレーターがトリガーを選択できるオプションのイベントで、プレロールまたはポストロールをスキップする必要があることを示すことができます機会。
イベント | 説明 |
---|---|
adskip | プレイヤーは直線的な広告機会をスキップしており、コンテンツの再生がすぐに再開されるはずです |
adtimeout | プラグインで管理されているタイムアウトが期限切れになり、通常の動画コンテンツの再生が開始されました |
ランタイム設定
プラグインが初期化されると、その動作を変更するために使用できるプロパティがあります。
プロパティ | 説明 |
---|---|
ContentsRC | このプロパティは、プレーヤーを「プリロールを表示する準備完了」状態にリセットできるように、新しいビデオがいつロードされるかを決定するために使用されます。広告プロバイダーは通常、それとはやりとりしませんが、例えばレンディションセレクターを実装するためにビデオソースを変更したいプラグインの作成者は、contentSrc レンディションスイッチが発生しました。 |
例
実装例
IMA3 プラグインによる広告ガイドの実践的な演習セクションでは、IMA3 広告にプラグインを使用する簡単な実装について説明します。
擬似コードの統合
基本的な広告統合の擬似コードは次のとおりです。この例では、各コンテンツ動画の前に 1 つのプリロール広告を表示し、広告プラグインが提供するインタラクションポイントを示しています。これは実際には実行可能な例ではありません。コードコメントで指定されているように、より多くの情報を必要とするからです。
<script type="text/javascript">
videojs.getPlayer('myPlayerID').one('loadedmetadata', function(){
var player = this;
player.ads(); // initialize the ad framework
// request ads whenever there's new video content
player.on('contentupdate', function(){
// fetch ad inventory asynchronously, then ...
player.trigger('adsready');
});
player.on('readyforpreroll', function() {
player.ads.startLinearAdMode();
// play your linear ad content
player.src('http://url/to/your/ad.content');
player.one('durationchange', function(){
player.play();
});
// when all your linear ads have finished...
player.one('ended', function() {
player.ads.endLinearAdMode();
});
});
});
</script>
よくある質問
広告プラグインはどのようにメディアメタデータにアクセスできますか?
Video Cloud をご利用の場合、プラグインは mediainfo オブジェクトを介してメタデータにアクセスします。このオブジェクトには、Video Cloud で設定されたメタデータが入力されます。Brightcove Playerのお客様は、 mediainfoオブジェクトを手動でビデオクラウド以外のCMSを使用するためです。
広告プラグインのオプションはどのように指定できますか?
プラグインオプションは、Studioの「プレーヤー」>「プラグイン」セクションで指定できます。オプションを含むプラグインを持つプレーヤーは、iframe またはページ内埋め込みコードを使用して公開できますが、プラグインオプションには静的情報 (説明など) が含まれます。に示されている手法を使用して、動的データをプラグインに渡すことができます。プラグインにデータを渡す資料。
広告プラグインはFlashベースの広告をどのようにサポートすべきですか?
ブライトコーブでは、Flash ベースの広告プレーヤーを広告プラグインの実装の一部としてパッケージ化して、プレーヤーがリニア広告モードになっている間は、そのプレーヤーをコンテンツの上に重ねて表示することをお勧めします。
キューポイントでミッドロールをトリガーするにはどうすればよいですか?
キューの変更で、startLinearAdMode()
を呼び出してミッドロールを開始します。キューポイントのリッスンと設定の詳細については、「キューポイントの使用」ドキュメントを参照してください。