Als Video-Publisher möchten Sie vielleicht Ihre Zuschauer daran hindern, die über Mid-Roll-Anzeigen hinausgehen. Wenn ein Nutzer nach einer Werbeunterbrechung spult, können Sie sie an den Beginn der Werbeunterbrechung nach Abschluss der Werbeunterbrechung zur Suchposition. Dieses wird als „Snapback“ bezeichnet.
Ein Beispiel finden Sie im Diagramm unten. Der Zuschauer sieht sich ein Video an. und beschließt, von der 5-Minuten- auf die 15-Minuten-Marke zu springen. Nach 10 Minuten wird jedoch eine Werbeunterbrechung eingefügt, bevor sie sich die Inhalte danach ansehen können:
So kannst du diese Werbeunterbrechung anzeigen lassen:
- Prüfen, ob der Nutzer eine Suche ausgeführt hat, die über eine nicht angesehene Werbeunterbrechung hinausgesprungen ist, Falls ja, leite sie zurück zur Werbeunterbrechung.
- Nach Abschluss der Werbeunterbrechung wird die ursprüngliche Suche wieder aktiviert.
In Diagrammform sieht das so aus:
Im Folgenden wird beschrieben, wie Sie eine Snapback mithilfe des IMA DAI SDK implementieren, wie in Erweitertes Beispiel.
Bei einem Suchvorgang wird eine Werbeunterbrechung nicht angesehen
Prüfen Sie, ob der Nutzer eine Suche ausgeführt hat, die über eine nicht angesehene Werbeunterbrechung hinausgegangen ist.
Falls ja, leite sie zurück zur Werbeunterbrechung.
Legen Sie im HTML5 SDK einen Event-Listener für das seeked
-Ereignis des Contentplayers fest.
um onSeekEnd()
auszulösen. Diese Methode (siehe unten) prüft den Cue-Punkt.
vor der Suchzeit des Nutzers angezeigt. Wenn es noch nicht abgespielt wurde, suche zum Anfang
Werbeunterbrechung anstelle des ersten gewünschten Suchpunkts
Suchpunkt in snapForwardTime
.
function onSeekEnd() {
if (isLiveStream) { return; }
if (isSnapback) {
isSnapback = false;
return;
}
var currentTime = videoElement.currentTime;
var previousCuePoint =
streamManager.previousCuePointForStreamTime(currentTime);
if (previousCuePoint && !previousCuePoint.played) {
isSnapback = true;
snapForwardTime = currentTime;
videoElement.currentTime = previousCuePoint.start;
}
Den Nutzer zu seiner ursprünglichen Suche zurückversetzen
Wenn Sie jetzt ein AD_BREAK_ENDED
-Ereignis erhalten, prüfen Sie, ob snapForwardTime
festgelegt ist. In diesem Fall sollten Sie den Nutzer
zu dieser Stelle im Stream weiterleiten,
Pause, die sie sich gerade angesehen haben, war das Ergebnis eines Snapbacks:
function onAdBreakEnded(e) {
videoElement.controls = true;
clickElement.style.display = 'none';
adUiDiv.style.display = 'none';
if (snapForwardTime && snapForwardTime > videoElement.currentTime) {
videoElement.currentTime = snapForwardTime;
snapForwardTime = null;
}
}