概要 overview
以下の手順は、SDK 2.x を使用した実装についてのガイダンスです。
広告再生には、広告ブレーク、広告開始、広告完了、広告スキップの追跡が含まれます。メディアプレーヤーの API を使用して、重要なプレーヤーイベントを識別したり、必須およびオプションの広告変数を設定したりできます。メタデータの包括的なリストについては、広告パラメーターを参照してください。
プレーヤーイベント player-events
広告ブレークの開始時
-
広告ブレークの
adBreak
オブジェクトインスタンスを作成します。例:adBreakObject
。 -
adBreakObject
を使用して、広告ブレーク開始のtrackEvent
を呼び出します。
すべての広告アセットの開始時
- 広告アセットの広告オブジェクトインスタンスを作成します。例:
adObject
。 - 広告のメタデータ
adCustomMetadata
を設定します。 - 広告開始の
trackEvent
を呼び出します。
すべての広告の完了時
- 広告完了の
trackEvent
を呼び出します。
広告スキップ時
- 広告スキップの
trackEvent
を呼び出します。
広告ブレークの完了時
- ブレーク完了の
trackEvent
を呼び出します。
広告トラッキングの実装 implement-ad-tracking
広告トラッキングの定数
AdBreakStart
AdBreakComplete
AdStart
AdComplete
AdSkip
実装手順
-
プリロールを含め、いつ広告ブレークの境界が開始するかを識別し、広告ブレーク情報を使用して
AdBreakObject
を作成します。AdBreakObject
リファレンス:table 0-row-3 1-row-3 2-row-3 3-row-3 3-align-center 7-align-center 11-align-center 15-align-center 変数名 説明 必須 name
プリロール、ミッドロール、ポストロールなど、広告ブレークの名前 ○ position
コンテンツ内の広告ブレークの位置番号(1 から始まる)。 ○ startTime
広告ブレーク開始時の再生ヘッド値 ○ -
MediaHeartbeat
インスタンスのAdBreakStart
でtrackEvent()
を呼び出し、広告ブレークの追跡を開始します。 -
いつ広告が開始するかを識別し、広告情報を使用して
AdObject
インスタンスを作成します。AdObject
リファレンス:table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center 変数名 説明 必須 name
広告のわかりやすい名前. ○ adId
広告の一意の ID。 ○ position
広告ブレーク内の広告の位置番号(1 から始まる)。 ○ length
広告の長さ ○ -
オプションで、コンテキストデータ変数を使用して標準または広告メタデータをトラッキングセッションにアタッチします。
- 標準広告メタデータ - 標準広告メタデータの場合、ご利用のプラットフォームのキーを使用して、標準広告メタデータのキーと値のペアのディクショナリを作成します。
- カスタムの広告メタデータ - カスタムのメタデータの場合は、カスタムデータ変数の変数オブジェクトを作成し、現在の広告のデータを設定します。
-
MediaHeartbeat
インスタンスのAdStart
イベントでtrackEvent()
を呼び出し、広告再生の追跡を開始します。カスタムメタデータ変数(または空のオブジェクト)への参照を、イベント呼び出しの 3 番目のパラメーターとして追加します。
-
広告の再生が広告の終わりに到達したら、
AdComplete
イベントでtrackEvent()
を呼び出します。 -
ユーザーが広告のスキップを選択したので広告再生が完了しなかった場合は、
AdSkip
イベントを追跡します。 -
同じ
AdBreak
にその他の広告がある場合、手順 3 ~ 7 を繰り返します。 -
広告ブレークが完了したら、
AdBreakComplete
イベントを使用して追跡します。
s:asset:type=ad
)中、コンテンツプレーヤーの再生ヘッド(l:event:playhead
)を増分しないでください。増分すると、コンテンツ視聴時間指標に悪影響をおよぼします。以下のサンプルコードでは、HTML5 メディアプレーヤー用の JavaScript 2.x SDK を使用しています。
/* Call on ad break start */
if (e.type == "ad break start") {
var adBreakObject = MediaHeartbeat.createAdBreakObject("mid-roll", 2, 500);
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject);
};
/* Call on ad start */
if (e.type == "ad start") {
var adObject = MediaHeartbeat.createAdObject("PepsiOne", "123456ab", 1, 30);
/* Set custom context data */
var adCustomMetadata = {
affiliate:"Sample affiliate",
campaign:"Sample ad campaign",
creative:"Sample creative"
}
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata);
};
/* Call on ad complete */
if (e.type == "ad complete") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
};
/* Call on ad skip */
if (e.type == "ad skip") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdSkip);
};
/* Call on ad break complete */
if (e.type == "ad break complete") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
};