広告と広告の間に発生する main:play の解決

問題点

一部の広告トラッキングシナリオでは、1 つの広告が終了してから次の広告が開始するまでの間に、予期せず main:play 呼び出しが発生することがあります。広告完了呼び出しと次の広告開始呼び出しの間の遅延が 250 ミリ秒を超えると、メディア SDK は main:play 呼び出しの送信にフォールバックします。この main:play へのフォールバックがプリロール広告ブレーク中に発生した場合、コンテンツ開始指標が早期に設定されることがあります。

上記のような広告の間隔は、広告コンテンツとのオーバーラップがないので、メディア SDK ではメインコンテンツとして解釈されます。メディア SDK に広告の情報が設定されず、プレーヤーの状態が再生中になります。広告の情報がなく、プレーヤーの状態が再生中の場合、デフォルトでは、メディア SDK はメインコンテンツの前の間隔であると判断します。情報が null の広告の前の再生時間であると判断することはできません。

特定方法

Adobe Debug または Charles などのネットワークパケットスニファーを使用している場合に、プリロール広告ブレーク中に次のハードビートがこのとおりの順序で呼び出されます。

  • セッション開始: s:event:type=start & s:asset:type=main

  • 広告開始: s:event:type=start & s:asset:type=ad

  • 広告再生: s:event:type=play & s:asset:type=ad

  • 広告完了: s:event:type=complete & s:asset:type=ad

  • メインコンテンツ再生:s:event:type=play & s:asset:type=main (想定外)

  • 広告開始: s:event:type=start & s:asset:type=ad

  • 広告再生: s:event:type=play & s:asset:type=ad

  • 広告完了: s:event:type=complete & s:asset:type=ad

  • メインコンテンツ再生:s:event:type=play & s:asset:type=main (想定どおり)

解決策

広告完了呼び出しのトリガーを遅らせます。

プレーヤー内から間隔を処理するには、最初の広告の trackEvent:AdComplete の呼び出しを遅らせ、その直後に 2 つ目の広告の trackEvent:AdStart を呼び出します。アプリでは、最初の広告が終了した後の AdComplete イベントの呼び出しを遅らせる必要があります。必ず、広告ブレークの最後の広告の trackEvent:AdComplete を呼び出します。プレーヤーが現在の広告アセットが広告ブレークの最後の広告であることを識別できる場合は、trackEvent:AdComplete を直ちに呼び出します。この解決策では、直前の広告ユニットに関連付けられる広告滞在時間が、1 秒未満ですが増加します。

プリロールを含む、広告ブレークの開始時:

  • 広告ブレークの adBreak オブジェクトのインスタンス(例えば、adBreakObject)を作成します。

  • trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject); を呼び出します。

すべての広告アセットの開始時:

  • trackEvent(MediaHeartbeat.Event.AdComplete);を呼び出します

    メモ

    これは、前の広告が完了しなかった場合にのみ呼び出してください。ブール値を使用して前の広告の「isinAd」状態を維持することを検討してください。

  • 広告アセットの広告オブジェクトのインスタンス(例えば、adObject)を作成します。

  • 広告のメタデータ adCustomMetadata を設定します。

  • trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata); を呼び出します。

  • これがプリロール広告ブレークの最初の広告である場合は、trackPlay() を呼び出します。

すべての広告アセットの完了時:

  • 呼び出しをおこないません

    メモ

    アプリケーションが広告ブレークの最後の広告であることを認識している場合は、ここで trackEvent:AdComplete を呼び出し、trackEvent:AdBreakCompletetrackEvent:AdComplete の設定をスキップします。

広告スキップ時:

  • trackEvent(MediaHeartbeat.Event.AdSkip); を呼び出します。

広告ブレークの完了時:

  • trackEvent(MediaHeartbeat.Event.AdComplete);を呼び出します

    メモ

    最後の trackEvent:AdComplete 呼び出しの一環としてこの手順を既に実行している場合は、この手順をスキップできます。

  • trackEvent(MediaHeartbeat.Event.AdBreakComplete); を呼び出します。

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now