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 para una hora de transmisión determinada y la hora de transmisión para una hora del contenido determinada. 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
Guardar un favorito cuando la actividad esté en 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
Cargando favoritos
Carga el favorito cuando vuelvas a solicitar una transmisión. Es parte de la implementación de la interfaz 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