Questa guida mostra come implementare la funzionalità di aggiunta ai preferiti utilizzando l'SDK IMA DAI quando utilizzi 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 nella sezione Inizia.
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, salvare semplicemente l'ora dello stream non funzionerà. Quello che devi fare è continuare dallo stesso tempo del contenuto.
Metodi di conversione
L'SDK IMA DAI fornisce una coppia di metodi per richiedere il tempo del contenuto per un determinato tempo dello stream e il tempo dello stream per un determinato tempo del contenuto. Utilizzando questi metodi di conversione, puoi memorizzare il tempo del contenuto 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 funzionante della funzionalità di aggiunta ai preferiti.
Salvare i preferiti
Salva un preferito quando l'attività è in pausa.
- (void)viewWillAppear:(BOOL)animated {
...
self.bookmarkTime =
[self.streamManager contentTimeForStreamTime:CMTimeGetSeconds(
self.playerViewController.player.currentTime)];
}
Caricare i preferiti
Carica il preferito quando richiedi di nuovo uno stream. Fa parte dell'implementazione dell'interfaccia VideoStreamPlayer.
- (void)streamManagerIsPlaybackReady:(IMAStreamManager *)streamManager {
...
if (self.bookmarkTime != 0) {
NSTimeInterval streamTime = [self.streamManager
streamTimeForContentTime:self.bookmarkTime];
[self.playerViewController.player
seekToTime:CMTimeMakeWithSeconds(streamTime, NSEC_PER_SEC)];
}
}