Questa guida mostra come implementare la funzionalità di aggiunta ai preferiti utilizzando l'SDK IMA DAI quando si utilizza l'inserimento di annunci dinamici (DAI) per gli stream video on demand (VOD). Si presuppone che sia presente un'implementazione IMA DAI funzionante, come quella presentata in Guida introduttiva.
Che cos'è la funzionalità di aggiunta ai preferiti?
La funzionalità di aggiunta ai preferiti consente di salvare e ritornare successivamente a un punto specifico dello streaming di contenuti. Pensiamo a un utente che guarda cinque minuti di contenuto, poi lascia lo stream video e ritorna più tardi. La funzionalità di aggiunta ai preferiti salva la posizione dell'utente nello stream e riprende la riproduzione dal punto di interruzione, per garantire allo spettatore un'esperienza perfettamente integrata.
Funzionalità di aggiunta ai preferiti DAI
Quando aggiungi ai preferiti uno stream DAI, devi registrare l'ID dello stream e l'ora in cui l'utente lascia il video. Quando l'utente torna, richiedi di nuovo lo stream e cerca l'ora salvata. Poiché ogni istanza dello stream richiesto può avere interruzioni pubblicitarie di durata diversa, la semplice memorizzazione dell'ora dello stream non funzionerà. Quello che vuoi fare è continuare dallo stesso tempo di contenuto.
Metodi di conversione
L'SDK IMA DAI fornisce una coppia di metodi per richiedere il tempo di contenuto per un determinato tempo di stream e il tempo di stream per un determinato tempo di contenuto. Utilizzando questi metodi di conversione, puoi memorizzare il tempo di contenuto aggiunto ai preferiti e poi cercare il tempo di stream corrispondente nella nuova istanza dello stream. Ecco l'approccio, incluso un link a un'app di esempio che mostra un'implementazione funzionante della funzionalità di aggiunta ai preferiti.
Salvare e caricare i preferiti dello stream di annunci
Salva un preferito quando il player di contenuti è in pausa.
onPause() {
var bookmarkTime = Math.floor(
streamManager.contentTimeForStreamTime(videoElement.currentTime));
}
Caricare i preferiti
Carica il preferito quando richiedi di nuovo uno stream.
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);
}
App di esempio
Scarica l'app di esempio per vedere un'implementazione della funzionalità di aggiunta ai preferiti.