Favoritos

En esta guía, se muestra cómo implementar la función de favoritos con el SDK de IMA de DAI Cuando se usa la inserción de anuncios dinámicos (DAI) para transmisiones de video on demand (VOD). Aquí se presupone que hay una implementación de DAI de IMA que funcione, como la que se presenta en Comienza ahora.

¿Qué son los favoritos?

Agregar a favoritos es la capacidad de guardar y luego regresar a un punto específico en la transmisión de contenido. Supongamos que un usuario mira contenido de cinco minutos sale de la transmisión de video por Internet y regresa a ella. Agregar a favoritos guarda la la posición del usuario en la transmisión para que esta pueda retomar desde donde dejar de responder, lo que brinda una experiencia fluida al usuario.

Funcionamiento interno de los favoritos de la DAI

Cuando agregue a favoritos una transmisión de DAI, debe registrar el ID y la hora de la transmisión. cuando el usuario abandona el video. Cuando el usuario regrese, vuelve a solicitar el y busca el tiempo ahorrado. Dado que cada instancia de la solicitud puede tener pausas publicitarias de distintas duraciones con solo guardar la transmisión tiempo no funcionará. Lo que en realidad quieres hacer es continuar desde el mismo tiempo de contenido.

Métodos de conversión al rescate

El SDK de DAI de IMA proporciona un par de métodos para solicitar la hora del contenido. durante un tiempo de transmisión determinado y el tiempo de transmisión de un contenido determinado tiempo. Con estos métodos de conversión, puedes guardar el historial hora de contenido y, luego, busca el tiempo de transmisión correspondiente en la nueva instancia de la transmisión. Este es el enfoque, incluyendo un vínculo a una app de ejemplo que muestra una implementación de favoritos en funcionamiento.

Guardando los favoritos

Guarda un favorito cuando Activity esté pausado.

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

Cargando favoritos

Carga el favorito cuando vuelvas a solicitar una transmisión. Es parte de la implementación la interfaz 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 de ejemplo

Descarga la app de ejemplo para ver una implementación de favoritos.