Snapback

Als Video-Publisher möchtest du vielleicht verhindern, dass Zuschauer an deinen Mid-Roll-Anzeigen vorbeischauen. Wenn ein Nutzer nach einer Werbeunterbrechung springt, kannst du ihn zum Beginn der Werbeunterbrechung und dann nach Abschluss der Werbeunterbrechung an seine Suchposition zurückbringen. Diese Funktion wird als „Snapback“ bezeichnet.

Ein Beispiel finden Sie im Diagramm unten. Ein Zuschauer sieht sich ein Video an und springt zwischen 5 Minuten und 15 Minuten. Es gibt allerdings eine Werbeunterbrechung nach 10 Minuten, die Zuschauer sehen sollen, bevor sie sich den Inhalt danach ansehen können:

So kannst du diese Werbeunterbrechung präsentieren:

  1. Prüfe, ob der Nutzer eine Suche ausgeführt hat, die eine nicht angesehene Werbeunterbrechung überspringt hat. Wenn ja, fahre mit der Werbeunterbrechung zurück.
  2. Nach Abschluss der Werbeunterbrechung kannst du sie wieder in die ursprüngliche Suche verschieben.

In Diagrammform sieht das so aus:

Im folgenden erweiterten Beispiel wird beschrieben, wie Sie Snapack mit dem IMA DAI SDK implementieren.

Verhindern, dass eine Suche eine Werbeunterbrechung ungesehene verlässt

Prüfe, ob der Nutzer eine Suche nach einer nicht angesehenen Werbeunterbrechung ausgeführt hat. Wenn ja, kehre zur Werbeunterbrechung zurück. Im erweiterten Roku-Beispiel drückt der Nutzer Tasten aus der Ferne, um eine Suche zu starten. Jedes Mal, wenn der Nutzer die Vorwärtstaste drückt, springt er im Stream um eine festgelegte Anzahl von Sekunden vor. Die Methode, die diesen Sprung verarbeitet, prüft auch, ob der Sprung über oder in eine Werbeunterbrechung geht. Falls ja, wird der Nutzer stattdessen zum Anfang der Werbeunterbrechung geleitet:

Function handleFastForward(player as Object, streamManager as Object, updatedTime As Integer)
  previousAd = streamManager.getPreviousCuePoint(updatedTime)
  If previousAd = Invalid or previousAd.hasPlayed
    player.seek(updatedTime * 1000)
  Else If previousAd.start > player.currentTime
    player.isSnapback = True
    player.timeAfterSnapback = updatedTime
    player.seek(previousAd.start * 1000 + 1000)
  End If
End Function

Nutzer zurück zu ihrer ursprünglichen Suche versetzen

Prüfen Sie im adBreakEnded-Handler, ob die vorherige Werbeunterbrechung als Ergebnis eines Snapbacks wiedergegeben wurde. Wenn ja, kehre den Nutzer an die Stelle zurück, an der er ursprünglich suchen wollte, sofern dies nicht die Mitte der gerade abgespielten Werbeunterbrechung war:

player.adBreakEnded = Function(adBreakInfo as Object)
  If m.isSnapback
    m.seek(m.timeAfterSnapback * 1000)
    m.isSnapback = False
  End If
End Function