Resguardo

Como publicador de videos, recomendamos que evites que los usuarios busquen más allá de tus anuncios durante el video. Cuando un usuario busca más allá de una pausa publicitaria, puedes llevarlo de regreso al inicio de esa pausa y, luego, regresarlo a su ubicación de búsqueda una vez que se haya completado esa pausa. Esta función se denomina “restablecimiento automático”.

A modo de ejemplo, consulta el siguiente diagrama. Cuando el usuario mira un video, decide saltar de la marca de 5 a 15 minutos. Sin embargo, hay una pausa publicitaria a los 10 minutos que deseas que miren antes de que puedan mirar el contenido después:

Para mostrar esta pausa publicitaria, sigue estos pasos:

  1. Verifica si el usuario ejecutó una búsqueda que pasó más allá de una pausa publicitaria no vista y, de ser así, llévalo a la pausa publicitaria.
  2. Una vez que se complete la pausa publicitaria, regresa a su búsqueda original.

En forma de diagrama, se ve así:

A continuación, se muestra cómo implementar este flujo de trabajo en el SDK de IMA para HTML5, como se hace en el ejemplo avanzado.

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

Verifica si el usuario ejecutó una búsqueda que pasó después de una pausa publicitaria no vista y, de ser así, llévalo de vuelta 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 no se reproduce, busca al comienzo de esa pausa publicitaria, en lugar del punto de búsqueda inicial deseado, y guarda ese punto 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;
}

Hacer que el usuario vuelva a su búsqueda original

Ahora, cuando recibas un evento AD_BREAK_ENDED, verifica si se configuró snapForwardTime. Si es así, lleva al usuario a ese punto de la transmisión, ya que la pausa publicitaria que acaba de ver fue el resultado de la recuperación automática:

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