In diesem Leitfaden erfahren Sie, wie Sie Lesezeichen mit dem IMA DAI SDK implementieren. wenn Sie die dynamische Anzeigenbereitstellung für Video-on-Demand-Streams (VOD) verwenden. Dies setzt voraus, dass die dynamische Anzeigenbereitstellung funktioniert, wie im Jetzt starten
Was ist Lesezeichen?
Als Lesezeichen speichern Sie einen bestimmten Punkt, im Contentstream. Angenommen, ein Nutzer sieht sich fünf Minuten lang Inhalte an, verlässt den Videostream und kehrt dann dorthin zurück. Als Lesezeichen speichern Sie die Position des Nutzers im Stream, damit der Stream dort fortgesetzt werden kann, die aufgehört haben, und sorgt so für ein nahtloses Erlebnis.
Dynamische Anzeigenbereitstellung – Interne Lesezeichen
Wenn Sie einen Stream für die dynamische Anzeigenbereitstellung als Lesezeichen speichern, müssen Sie die Stream-ID und die Uhrzeit erfassen wenn der Nutzer das Video verlässt. Wenn der Nutzer zurückkehrt, fordern Sie den Parameter zu streamen und zur eingesparten Zeit zu springen. Da jede Instanz des angeforderten Stream kann Werbeunterbrechungen von unterschiedlicher Dauer haben. Der Stream wird einfach gespeichert. wird die Uhrzeit nicht funktionieren. Setzen Sie die Änderungen content time auf.
Konvertierungsmethoden zur Rettung
Das IMA DAI SDK bietet zwei Methoden, um die Inhaltszeit anzufordern. für einen bestimmten Stream-Zeitpunkt und die Stream-Zeit für einen bestimmten Content Mit diesen Konvertierungsmethoden können Sie die als Lesezeichen content time auf und springen Sie dann zur entsprechenden Streamzeit in die neue Instanz des Streams. Hier ist der Ansatz, einschließlich eines Links, bis hin zu einer Beispiel-App, die eine funktionierende Lesezeichen-Implementierung zeigt.
Lesezeichen werden gespeichert
Lesezeichen speichern, wenn der Inhaltsplayer pausiert ist.
onPause() {
var bookmarkTime = Math.floor(
streamManager.contentTimeForStreamTime(videoElement.currentTime));
}
Lesezeichen werden geladen
Das Lesezeichen wird geladen, wenn Sie einen Stream noch einmal anfordern.
function loadUrl(url) {
hls.on(Hls.Events.MANIFEST_PARSED, () => {
var startTime = 0;
if (bookmarkTime) {
var startTime = streamManager.streamTimeForContentTime(bookmarkTime);
// Seeking on load triggers the onSeekEnd event, so treat this seek as
// if it's snapback. Without this, resuming at a bookmark kicks you
// back to the ad before the bookmark.
isSnapback = true;
}
hls.startLoad(startTime);
videoElement.addEventListener('loadedmetadata', () => { videoElement.play(); });
});
hls.loadSource(url);
hls.attachMedia(videoElement);
}
Beispiel-App
Beispiel-App herunterladen um eine Lesezeichen-Implementierung anzuzeigen.