Beheben von Lücken zwischen Anzeigen resolving-main-play-appearing-between-ads
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 oben beschrieben wird von Media SDK als Hauptinhalt interpretiert, da es dort keine Überschneidung mit Anzeigeninhalten gibt. Auf Media SDK sind keine Anzeigeninformationen festgelegt und der Player befindet sich im Wiedergabestatus. Wenn keine Anzeigeninformationen vorhanden sind und der Player-Status wiedergegeben wird, schreibt Media SDK standardmäßig die Dauer der Lücke zum 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. Diese Auflösung führt zu weniger als einer Sekunde zusätzlicher Anzeigenbesuchszeit, die der vorherigen Anzeigeneinheit zugeordnet wird.
Bei 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:
-
Aufruf
trackEvent(MediaHeartbeat.Event.AdComplete);note note NOTE 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
note note NOTE Wenn die Anwendung weiß, dass es sich um die letzte Anzeige in der Werbeunterbrechung handelt, rufen Sie trackEvent:AdCompletehier auf und überspringen SietrackEvent:AdCompleteintrackEvent:AdBreakComplete.
Beim Überspringen einer Anzeige:
- Aufruf
trackEvent(MediaHeartbeat.Event.AdSkip);.
Beim Abschluss einer Werbeunterbrechung:
-
Aufruf
trackEvent(MediaHeartbeat.Event.AdComplete);note note NOTE 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);.