Segnalibri

Questa guida mostra come implementare il segnalibro utilizzando l'SDK IMA DAI quando si utilizza l'inserimento di annunci dinamici (DAI) per gli streaming video on demand (VOD). Questo presuppone un'implementazione IMA DAI funzionante, come quella presentata nella sezione Inizia.

Che cos'è l'aggiunta ai segnalibri?

Bookmarking consente di salvare e poi tornare a un punto specifico dello stream di contenuti. Supponiamo che un utente guardi cinque minuti di contenuti, abbandona il video stream e poi vi ritorna. La funzione di aggiunta ai preferiti salva la posizione dell'utente nello stream in modo che possa riprendere da dove era stato interrotto, offrendo allo spettatore un'esperienza fluida.

Introduzione ai segnalibri DAI

Quando aggiungi uno stream DAI ai preferiti, devi registrare l'ID stream e l'ora in cui l'utente lascia il video. Quando l'utente torna, richiedi di nuovo il flusso e cerca il tempo risparmiato. Poiché ogni istanza del flusso richiesto può avere interruzioni pubblicitarie di durata diversa, il salvataggio del tempo di streaming non funzionerà. Quello che vuoi davvero fare è continuare dalla stessa ora dei contenuti.

Metodi di conversione in soccorso

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

Salvataggio dei preferiti in corso...

Salva un preferito quando Activity è in pausa.

private double bookmarkTime;
@Override
public void onPause() {
   super.onPause();
   double streamTime = videoPlayer.getCurrentPosition() / 1000.0; // ms to s.
   bookmarkTime = streamManager.getContentTimeForStreamTime(streamTime);
}

Caricamento dei preferiti in corso...

Carica il preferito quando richiedi di nuovo uno stream. Fa parte dell'implementazione dell'interfaccia VideoStreamPlayer.

public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
    // Set video player's stream URL and subtitles, and play the stream.
    ...

    // Bookmarking.
    if (bookmarkTime > 0) {
        double streamTime =
                streamManager.getStreamTimeForContentTime(bookmarkTime);
        videoPlayer.seek((long) (streamTime * 1000.0)); // s to ms.
    }
}

App di esempio

Scarica l'app di esempio per visualizzare l'implementazione di un segnalibro.