Show Menu
TOPICS×

Beheben von „main:play“ zwischen Anzeigen

PROBLEM

In einigen Tracking-Szenarios treten möglicherweise zwischen dem Ende der einen und dem Anfang der nächsten Anzeige unerwartete
main:play
-Aufrufe auf. Wenn die Verzögerung zwischen dem Aufruf zum Abschluss der ersten Anzeige und dem Start der nächsten mehr als 250 Millisekunden beträgt, sendet das Medien-SDK
main:play
-Aufrufe. Wenn diese
main:play
-Aufrufe während einer Pre-Roll-Werbeunterbrechung auftreten, wird die Metrik zum Inhaltsstart möglicherweise zu früh festgelegt.
Eine Lücke zwischen Anzeigen wie die oben beschriebene wird vom Medien-SDK als Hauptinhalt interpretiert, da keine Überlappung mit Anzeigeninhalten besteht. Dem Medien-SDK liegen keine Anzeigeninformationen vor und der Player befindet sich im Wiedergabestatus. Wenn keine Anzeigeninformationen vorliegen und der Player im Wiedergabestatus ist, rechnet das Medien-SDK die Dauer der Lücke standardmäßig dem Hauptinhalt zu. Es kann die Wiedergabedauer nicht den fehlenden Anzeigeninformationen zuordnen.

ERKENNUNG

Wenn Sie Adobe Debug oder einen Netzwerk-Packet-Sniffer wie Charles verwenden und während einer Pre-Roll-Werbeunterbrechung folgende Heartbeat-Aufrufe in dieser Reihenfolge angezeigt werden:
  • Sitzungsstart:
    s:event:type=start
    &
    s:asset:type=main
  • Ad Start:
    s:event:type=start
    &
    s:asset:type=ad
  • Ad Play:
    s:event:type=play
    &
    s:asset:type=ad
  • Ad Complete:
    s:event:type=complete
    &
    s:asset:type=ad
  • Main Content Play:
    s:event:type=play
    &
    s:asset:type=main
     
    (unerwartet)
  • Ad Start:
    s:event:type=start
    &
    s:asset:type=ad
  • Ad Play:
    s:event:type=play
    &
    s:asset:type=ad
  • Ad Complete:
    s:event:type=complete
    &
    s:asset:type=ad
  • Main Content Play:
    s:event:type=play
    &
    s:asset:type=main
     
    (erwartet)

LÖSUNG

Verzögern Sie den Ad Complete-Aufruf.
Beseitigen Sie die Lücke innerhalb des Players, indem Sie
trackEvent:AdComplete
für die erste Anzeige später aufrufen, sodass
trackEvent:AdStart
für die zweite Anzeige umgehend folgt. Die Anwendung sollte das
AdComplete
-Ereignis nicht gleich zum Ende der ersten Anzeige aufrufen. Stellen Sie sicher, dass Sie bei der letzten Anzeige der Werbeunterbrechung
trackEvent:AdComplete
aufrufen. Wenn der Player erkennen kann, dass das aktuelle Anzeigen-Asset das letzte der Werbeunterbrechung ist, rufen Sie umgehend
trackEvent:AdComplete
auf. Durch diese Lösung wird der ersten Anzeigeneinheit eine zusätzliche Sekunde an Besuchszeit angerechnet.
Beim Start der Werbeunterbrechung, einschließlich Pre-Roll:
  • Erstellen Sie die
    adBreak
    -Objektinstanz für die Werbeunterbrechung, z. B.
    adBreakObject
    .
  • Aufruf
    trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject);
    .
Bei jedem Start eines Anzeigen-Assets:
  • Rufen Sie
    trackEvent(MediaHeartbeat.Event.AdComplete);
    auf
    Führen Sie diesen Aufruf nur durch, wenn die vorherige Anzeige nicht abgeschlossen wurde. Erwägen Sie hierzu einen booleschen Wert, um einen
    isinAd
    -Status für die vorherige Anzeige festzulegen.
  • Erstellen Sie die Anzeigen-Objektinstanz für das Anzeigen-Asset, z. B.
    adObject
    .
  • Fügen Sie die Anzeigenmetadaten hinzu:
    adCustomMetadata
    .
  • Aufruf
    trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata);
    .
  • Rufen Sie
    trackPlay()
    auf, wenn es sich um die erste Anzeige in einer Pre-Roll-Werbeunterbrechung handelt.
Bei jedem Abschluss eines Anzeigen-Assets:
  • Führen Sie keinen Aufruf durch
    Wenn die Anwendung weiß, dass es sich um die letzte Anzeige in der Werbeunterbrechung handelt, rufen Sie
    trackEvent:AdComplete
    hier auf und überspringen Sie
    trackEvent:AdComplete
    in
    trackEvent:AdBreakComplete
    .
Beim Überspringen einer Anzeige:
  • Aufruf
    trackEvent(MediaHeartbeat.Event.AdSkip);
    .
Beim Abschluss einer Werbeunterbrechung:
  • Rufen Sie
    trackEvent(MediaHeartbeat.Event.AdComplete);
    auf
    Wenn dieser Schritt bereits weiter oben im Rahmen des letzten
    trackEvent:AdComplete
    -Aufrufs durchgeführt wurde, können Sie ihn hier überspringen.
  • Aufruf
    trackEvent(MediaHeartbeat.Event.AdBreakComplete);
    .