IMA クライアントサイドと Brightcove ウェブ & スマートTV SDK の統合
概要
IMA クライアントサイドにより、Brightcove ウェブ & スマートTV SDK で構築したメディア プレーヤーに動画広告を簡単に統合できます。 IMA3 統合により、プリロール、ミッドロール、ポストロール広告の配置や、洗練された広告管理機能が容易になります。
前提条件
-
Video Cloud にアクセスできる Brightcove アカウントを持っていること。
-
プロジェクトにインストールされている Brightcove ウェブ & スマートTV SDK。
-
Google IMA SDK リソースと Ad Manager アカウントへのアクセスできること。
使用例
-
Brightcove SDK から Player (with UI) クラスのインポート
import { Player, IntegrationsManager } from '@brightcove/web-sdk/ui';
-
Brightcove SDK から IMA クライアントサイド統合クラスのインポート
import { ImaClientSideIntegrationFactory } from '@brightcove/web-sdk/integrations/imaClientSide';
-
Brightcove SDK から ImaClientSide 統合 CSS のインポート
import '@brightcove/web-sdk/integrations/imaClientSide/styles';
-
IMA クライアントサイド統合の設定
IntegrationsManager.registerImaClientSideIntegrationFactory(ImaClientSideIntegrationFactory);
-
プレーヤーの作成と設定
const player = new Player({accountId:'<account-id>'}); player.updateConfiguration({ integrations: { imaClientSide: { serverUrl: '<ad-tag-url>', requestMode: 'onload', hardTiemouts: false, // etc }, }, });
-
プレーヤーをマウント ルート(ページ内の DOM 要素)にアタッチします:
const root = document.querySelector('#player-mount-root'); player.attach(root);
-
IntegrationsManager を使って IMA Client Side Integration API にアクセスします。:
const { imaClientSideIntegration } = player.getIntegrationsManager();
-
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 |
広告キューポイントの解析エラー。 |