Als Videoverleger möchtest du möglicherweise verhindern, dass Zuschauer deine Mid-Roll-Anzeigen überspringen. Wenn ein Nutzer eine Werbeunterbrechung überspringt, kannst du ihn an den Beginn dieser Werbeunterbrechung zurückbringen und ihn dann nach Abschluss der Werbeunterbrechung zu seiner Suchposition zurückleiten. Diese Funktion wird als „Snapback“ bezeichnet.
Ein Beispiel sehen Sie im Diagramm unten. Ein Zuschauer sieht sich ein Video an und beschließt, von der 5‑Minute zur 15‑Minute zu springen. Bei der 10-Minuten-Marke gibt es jedoch eine Werbeunterbrechung, die sich die Zuschauer ansehen müssen, bevor sie sich den Content danach ansehen können:
So zeigen Sie diese Werbeunterbrechung an:
- Prüfe, ob der Nutzer eine Suche durchgeführt hat, bei der eine nicht angesehene Werbeunterbrechung übersprungen wurde. Wenn ja, führe ihn zur Werbeunterbrechung zurück.
- Nach der Werbeunterbrechung kehren sie zur ursprünglichen Suchposition zurück.
In Diagrammform sieht das so aus:
So implementieren Sie Snapback mit dem IMA DAI SDK, wie in unserem erweiterten Beispiel gezeigt.
Verhindern, dass eine Werbeunterbrechung durch das Vorspulen nicht angesehen wird
Prüfe, ob der Nutzer eine Suche durchgeführt hat, die über eine nicht angesehene Werbeunterbrechung hinausging. Wenn ja, leite ihn zur Werbeunterbrechung zurück. Im erweiterten Roku-Beispiel wird die Suche durch Drücken der Tasten auf der Fernbedienung ausgelöst. Jedes Mal, wenn der Nutzer die Vorwärtstaste drückt, wird im Stream um eine bestimmte Anzahl von Sekunden vorwärts gesprungen. Mit derselben Methode, die diesen Sprung verarbeitet, wird auch geprüft, ob der Sprung den Nutzer an eine Werbeunterbrechung vorbeiführt oder in eine Werbeunterbrechung hinein. Wenn dies der Fall ist, wird der Nutzer stattdessen zum Beginn dieser Werbeunterbrechung weitergeleitet:
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
Den Nutzer zur ursprünglichen Position zurückbringen
Prüfen Sie in Ihrem adBreakEnded
-Handler, ob der vorherige Werbeunterbrechung aufgrund von Snapback abgespielt wurde. Wenn ja, kehre zum ursprünglichen Ort zurück, zu dem der Nutzer springen wollte, sofern es sich nicht um die Mitte der gerade abgespielten Werbeunterbrechung handelt:
player.adBreakEnded = Function(adBreakInfo as Object)
If m.isSnapback
m.seek(m.timeAfterSnapback * 1000)
m.isSnapback = False
End If
End Function