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:

  • AufruftrackEvent(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:AdComplete hier auf und überspringen Sie trackEvent:AdComplete in trackEvent:AdBreakComplete.

Beim Überspringen einer Anzeige:

  • Aufruf trackEvent(MediaHeartbeat.Event.AdSkip);.

Beim Abschluss einer Werbeunterbrechung:

  • AufruftrackEvent(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);.

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb