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 Roku, como se hace en nuestro 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. El ejemplo avanzado de Roku se basa en las presiones remotas de los botones para que el usuario realice búsquedas: cada vez que el usuario presiona el botón para avanzar, se mueve hacia adelante en la transmisión por una cantidad determinada de segundos. El mismo método que controla este salto también verifica si el salto avanza o pasa a una pausa publicitaria y, si lo hace, envía al usuario al inicio de esa pausa publicitaria:

Function handleFastForward(player as Object, streamManager as Object, updatedTime As Integer)
  previousAd = streamManager.getPreviousCuePoint(updatedTime)
  If previousAd = Invalid or previousAd.hasPlayed
    player.seek(updatedTime * 1000)
  Else If previousAd.start > player.currentTime
    player.isSnapback = True
    player.timeAfterSnapback = updatedTime
    player.seek(previousAd.start * 1000 + 1000)
  End If
End Function

Hacer que el usuario vuelva a su búsqueda original

En tu controlador adBreakEnded, verifica si la pausa publicitaria anterior se reprodujo como resultado del restablecimiento automático. De ser así, regresa al usuario al lugar donde estaba intentando buscar al principio (siempre y cuando no fuera en el medio de la pausa publicitaria que se acaba de reproducir):

player.adBreakEnded = Function(adBreakInfo as Object)
  If m.isSnapback
    m.seek(m.timeAfterSnapback * 1000)
    m.isSnapback = False
  End If
End Function