IMA クライアントサイドと Brightcove ウェブ & スマートTV SDK の統合

このドキュメントでは、インタラクティブ メディア広告(IMA)クライアントサイドとBrightcove ウェブ & スマートTV SDK の統合について詳しく説明します。

概要

IMA クライアントサイドにより、Brightcove ウェブ & スマートTV SDK で構築したメディア プレーヤーに動画広告を簡単に統合できます。 IMA3 統合により、プリロール、ミッドロール、ポストロール広告の配置や、洗練された広告管理機能が容易になります。

前提条件

  • Video Cloud にアクセスできる Brightcove アカウントを持っていること。

  • プロジェクトにインストールされている Brightcove ウェブ & スマートTV SDK。

  • Google IMA SDK リソースと Ad Manager アカウントへのアクセスできること。

使用例

  1. Brightcove SDK から Player (with UI) クラスのインポート

    import { Player, IntegrationsManager } from '@brightcove/web-sdk/ui';
                
  2. Brightcove SDK から IMA クライアントサイド統合クラスのインポート

    import { ImaClientSideIntegrationFactory } from '@brightcove/web-sdk/integrations/imaClientSide';
                
  3. Brightcove SDK から ImaClientSide 統合 CSS のインポート

    import '@brightcove/web-sdk/integrations/imaClientSide/styles';
                
  4. IMA クライアントサイド統合の設定

    IntegrationsManager.registerImaClientSideIntegrationFactory(ImaClientSideIntegrationFactory);
                
  5. プレーヤーの作成と設定

    const player = new Player({accountId:'<account-id>'});
    
     player.updateConfiguration({
       integrations: {
         imaClientSide: {
           serverUrl: '<ad-tag-url>',
           requestMode: 'onload',
           hardTiemouts: false,
           // etc
         },
       },
     });
  6. プレーヤーをマウント ルート(ページ内の DOM 要素)にアタッチします:

    const root = document.querySelector('#player-mount-root');
     player.attach(root);
                
  7. IntegrationsManager を使って IMA Client Side Integration API にアクセスします。:

    const { imaClientSideIntegration } = player.getIntegrationsManager();
                
  8. CSAI 固有のメソッドを呼び出し

    imaClientSideIntegration.isVpaid();
                

設定の概要

このセクションでは、ウェブ & スマートTV SDK を使用する際にクライアントサイド広告挿入(CSAI)で利用可能なさまざまな設定オプションについて詳しく説明します。

設定オプション タイプ デフォルト 説明
sdkUrl 文字列 https://imasdk.googleapis.com/js/sdkloader/ima3.js IMA3 SDKをロードするためのURL。
serverUrl 文字列 https://pubads.g.doubleclick.net/gampad/ads? sz=400x300&iu=%2F6062%2Fiab_vast_samples &ciu_szs=300x250%2C728x90&gdfp_req=1&env=vp &output=xml_vast2&unviewed_position_start=1 &url=[referrer_url]&correlator=[timestamp] &cust_params=iab_vast_samples%3Dlinear' 広告がリクエストされる広告サーバーのURL。
requestMode 'onload' | 'onplay' | 'ondemand' | 'once' 'onload' 広告リクエストをいつ行うかを定義する。
hardTimeouts 真偽値 true trueに設定すると、読み込みに時間がかかりすぎる広告は放棄されます。
showVpaidControls 真偽値 false VPAID 広告のカスタム プレーヤー コントロールを表示するかどうかを決定します。
clickTrackingElement HTMLElement | undefined undefined 代替動画広告のクリック要素を指定します。 未定義の場合は、IMA SDK がクリックを処理します。
postRollTimeout 数値 タイムアウトと同じ videojs-contrib-adsのポストロール広告のタイムアウト設定。 デフォルトのタイムアウト値を上書きします。
preRollTimeout 数値 タイムアウトと同じ videojs-contrib-ads のプリロール広告のタイムアウト設定。 デフォルトのタイムアウト値を上書きします。
useMediaCuePoints 真偽値 false Video Cloud 広告キュー ポイントを使用して広告をトリガできるようにします。
vpaidMode 文字列 undefined IMA HTML5 SDKのVPAID 2モードを指定します。 デフォルトはSDKの現在の設定(ENABLED)です。

パブリック メソッドの概要

メソッド 説明 パラメーター パラメーター タイプ 戻り値
getAdDisplayContainer 広告が表示されているアクティブなAdDisplayContainerインスタンスを取得します。 なし N/A AdDisplayContainer | null
replaceMacroVariablesFor 指定された url 内のマクロ変数を置換します。 サポートされているマクロのリストについては 以下を参照して下さい: url 文字列 文字列
getAdsLoader 広告の読み込みを担当するAdsLoaderインスタンスを返します。 なし N/A AdsLoader | null
getAdsManager 広告の再生を管理する AdsManager インスタンスを返します。 なし N/A AdsManager | null
requestAd 指定された広告リクエストURLを使用して広告リクエストを行います。 adRequestUrl 文字列 void
getCurrentAd 現在再生中の広告を返します。 なし N/A Ad | null
isVpaid 現在の広告が VPAID(Video Player Ad-Serving Interface Definition)広告であるかどうかを調べます。 なし N/A 真偽値
setAdsRenderingSettings 広告のレンダリング設定を行う。 adsRenderingSettings AdsRenderingSettings void

イベントの概要

イベント名 属性 説明
imaClientSideAdClick 読み取り専用 広告がユーザーによってクリックされたときにトリガーされます。
imaClientSideAdComplete 読み取り専用 広告の再生が完了したときにトリガーされます。
imaClientSideAdError 読み取り専用 広告再生時にエラーが発生した場合にトリガーされます。
imaClientSideAdStarted 読み取り専用 広告の再生開始時にトリガーされます。
imaClientSideAdsLoad 読み取り専用 広告がロードされ、再生準備が整うとトリガーされます。
imaClientSideAdsPodEnded 読み取り専用 広告ポッド(広告グループ)の再生が終了するとトリガーされます。
imaClientSideAdsPodStarted 読み取り専用 広告ポッド(広告グループ)の再生開始時にトリガーされます。
imaClientSideAdsRequest 読み取り専用 広告リクエストがサーバーに行われたときにトリガーされます。
imaClientSideAllAdsCompleted 読み取り専用 すべてのスケジュールされた広告の再生が完了したときにトリガーされます。
imaClientSideFirstQuartile 読み取り専用 広告の再生が最初の四分位に達するとトリガーされます。
imaClientSideMidPoint 読み取り専用 広告再生が中間点に達したときにトリガーされます。
imaClientSidePaused 読み取り専用 広告がユーザーによって一時停止されたときにトリガーされます。
imaClientSideResumed 読み取り専用 一時停止した広告がユーザーによって再開されたときにトリガーされます。
imaClientSideSdkLoaded 読み取り専用 IMA SDKが完全にロードされ、準備ができたときにトリガーされます。
imaClientSideSkipped 読み取り専用 ユーザーが広告をスキップしたときにトリガーされます。
imaClientSideThirdQuartile 読み取り専用 広告の再生回数が第3四分位に達するとトリガーされます。
imaClientSideVolumeChanged 読み取り専用 ユーザーによって広告ボリュームが変更されたときにトリガーされます。

エラーの概要

エラー名 説明
AdsBeforePrerollError プレロール広告の開始前にエラーが発生しました。
AdsPrerollError プリロール広告中のエラー。
AdsMidrollError ミッドロール広告中のエラー。
AdsPostrollError ポストロール広告中のエラー。
AdsMacroReplacementError 広告URLまたはトラッキングイベント内のマクロの置換エラー。
AdsResumeContentError 広告の中断後、コンテンツを再開する際にエラーが発生しました。
ImaVmapCancelledError VMAP広告プレイリスト要求がキャンセルされました。
ImaAdsManagerStartError IMA Ads Managerの起動時にエラーが発生しました。
ImaInvalidVpaidModeError 無効なVPAIDモードが設定されている。
ImaSdkLoadError IMA SDKの読み込みエラー。
ImaInvalidCueError 広告ブレークの無効なキューポイントによるエラー。
ImaCueParsingError 広告キューポイントの解析エラー。