Salvare e caricare i preferiti degli stream di annunci

Seleziona la piattaforma: HTML5 Android iOS tvOS Roku

Questa guida mostra come implementare l'aggiunta ai preferiti utilizzando l'SDK IMA DAI quando si utilizza l'inserimento di annunci dinamici (DAI) per gli stream video on demand (VOD). Ciò presuppone un'implementazione di IMA DAI funzionante, come quella presentata in Guida introduttiva.

Che cos'è l'aggiunta ai preferiti?

Il bookmarking consente di salvare e ritornare successivamente a un punto specifico dello streaming di contenuti. Supponiamo che un utente guardi cinque minuti di contenuti, lasci lo stream video e poi lo riprenda. Bookmarking 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 segnalibro DAI

Quando aggiungi un flusso DAI ai preferiti, devi registrare l'ID flusso e l'ora in cui l'utente abbandona il video. Quando l'utente torna, richiedi di nuovo lo stream e cerca il momento salvato. Poiché ogni istanza dello stream richiesto può avere interruzioni pubblicitarie di durata diversa, il semplice salvataggio dell'ora dello stream non funzionerà. Quello che vuoi fare è continuare dallo stesso timestamp dei contenuti.

Metodi di conversione in soccorso

L'SDK IMA DAI fornisce una coppia di metodi per richiedere l'ora dei contenuti per una determinata ora dello stream e l'ora dello stream per una determinata ora dei contenuti. Utilizzando questi metodi di conversione, puoi memorizzare il tempo dei contenuti aggiunto ai preferiti e poi cercare il tempo dello stream corrispondente nella nuova istanza dello stream. Ecco l'approccio, incluso un link a un'app di esempio che mostra un'implementazione di aggiunta ai preferiti funzionante.

Salvataggio dei preferiti

Salva un segnalibro quando l'attività è in pausa.

Saves the current time as a bookmark in the current video.
Function saveBookmarkTime(player as Object,  streamManager as Object) as Void
  m.videos[player.video.index].bookmarkTime =
      streamManager.getContentTime(player.currentTime * 1000)
End Function

Caricamento dei preferiti in corso…

Caricare il segnalibro quando viene richiesta nuovamente una riproduzione. Fa parte dell'implementazione dell'interfaccia VideoStreamPlayer.

player.loadUrl = Function(streamInfo as Object)
  ...
  If m.video.bookmarkTime > 0
    streamTime = m.streamManager.getStreamTime(m.video.bookmarkTime)
    m.videoPlayer.seek(streamTime)
  End If
End Function

App di esempio

App di esempio