Zu einer übersprungenen Werbeunterbrechung zurückkehren

Plattform auswählen:HTML5 Android iOS tvOS Roku>

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:

  1. 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.
  2. 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