概要 overview
以下の手順は、SDK 2.x を使用した実装についてのガイダンスです。
広告再生には、広告ブレーク、広告開始、広告完了、広告スキップの追跡が含まれます。メディアプレーヤーの API を使用して、重要なプレーヤーイベントを識別したり、必須およびオプションの広告変数を設定したりできます。メタデータの包括的なリストについては、広告パラメーターを参照してください。
プレーヤーイベント player-events
広告ブレークの開始時
-
広告ブレークの
adBreakオブジェクトインスタンスを作成します。例:adBreakObject。 -
adBreakObjectを使用して、広告ブレーク開始のtrackEventを呼び出します。
すべての広告アセットの開始時
- 広告アセットの広告オブジェクトインスタンスを作成します。例:
adObject。 - 広告のメタデータ
adCustomMetadataを設定します。 - 広告開始の
trackEventを呼び出します。
すべての広告の完了時
- 広告完了の
trackEventを呼び出します。
広告スキップ時
- 広告スキップの
trackEventを呼び出します。
広告ブレークの完了時
- ブレーク完了の
trackEventを呼び出します。
広告トラッキングの実装 implement-ad-tracking
広告トラッキングの定数
AdBreakStartAdBreakCompleteAdStartAdCompleteAdSkip実装手順
-
プリロールを含め、いつ広告ブレークの境界が開始するかを識別し、広告ブレーク情報を使用して
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);
};