Resguardo

Como publicador del video, recomendamos que evites que tus usuarios que buscan más allá de los anuncios durante el video. Cuando un usuario busca más allá de una pausa publicitaria puedes regresar al inicio de la pausa y luego regresar a su ubicación de búsqueda después de que se complete la pausa publicitaria. Esta se llama "restablecimiento automático".

Como ejemplo, consulta el siguiente diagrama. Si el usuario está mirando un video y decide saltar de la marca de 5 a la de 15 minutos. Sin embargo, hay una pausa publicitaria a los 10 minutos que quieres que lo vean antes de poder ver el contenido después:

Para mostrar esta pausa publicitaria, sigue estos pasos:

  1. Verifica si el usuario realizó un salto que pasó una pausa publicitaria sin mirar. y, si es así, lleva al usuario a la pausa publicitaria.
  2. Una vez finalizada la pausa publicitaria, regresa a su búsqueda original.

En forma de diagrama, se vería así:

A continuación, se muestra cómo implementar Snapback con el SDK de IMA de DAI, como se muestra en Ejemplo avanzado.

Cómo evitar que una búsqueda deje una pausa publicitaria sin mirar

Verificar si el usuario realizó un salto que pasó una pausa publicitaria sin mirar y, si es así, lleva al usuario a la pausa publicitaria. En el SDK de HTML5, configura un objeto de escucha de eventos en el evento seeked del reproductor de contenido. para activar onSeekEnd(). Ese método (que se presenta a continuación) verifica el punto de inserción. antes del tiempo de búsqueda del usuario. Si todavía no se reproduce, busca el comienzo en lugar del punto de búsqueda inicial deseado, y guarda punto de búsqueda en snapForwardTime.

function onSeekEnd() {
  if (isLiveStream) { return; }
  if (isSnapback) {
    isSnapback = false;
    return;
  }
  var currentTime = videoElement.currentTime;
  var previousCuePoint =
      streamManager.previousCuePointForStreamTime(currentTime);
  if (previousCuePoint && !previousCuePoint.played) {
    isSnapback = true;
    snapForwardTime = currentTime;
    videoElement.currentTime = previousCuePoint.start;
}

Cómo regresar al usuario a su salto original

Ahora, cuando recibas un evento AD_BREAK_ENDED, comprueba si snapForwardTime esté establecida. Si es así, lleva al usuario a ese punto en la transmisión, ya que el la pausa que acaban de ver fue el resultado de Snapback:

function onAdBreakEnded(e) {
  videoElement.controls = true;
  clickElement.style.display = 'none';
  adUiDiv.style.display = 'none';
  if (snapForwardTime && snapForwardTime > videoElement.currentTime) {
    videoElement.currentTime = snapForwardTime;
    snapForwardTime = null;
  }
}