Tornare a un'interruzione pubblicitaria saltata

Seleziona la piattaforma: HTML5 Android iOS tvOS Roku

In qualità di editore di video, potresti voler impedire ai tuoi spettatori di andare avanti oltre gli annunci mid-roll. Quando un utente avanza oltre un'interruzione pubblicitaria, puoi riportarlo all'inizio dell'interruzione pubblicitaria e poi alla posizione che aveva raggiunto dopo che l'interruzione pubblicitaria è terminata. Questa funzionalità si chiama "ritorno".

Ad esempio, vedi il diagramma riportato di seguito. Lo spettatore sta guardando un video e decide di passare dal minuto 5 al minuto 15. Tuttavia, c'è un'interruzione pubblicitaria al minuto 10 che vuoi che guardino prima di poter guardare i contenuti successivi:

Per mostrare questa interruzione pubblicitaria, segui questi passaggi:

  1. Controlla se l'utente ha eseguito un avanzamento che ha saltato un'interruzione pubblicitaria non guardata e, in caso affermativo, riportalo all'interruzione pubblicitaria.
  2. Al termine dell'interruzione pubblicitaria, riporta l'utente alla posizione di avanzamento originale.

In forma di diagramma, la formula è la seguente:

Ecco come implementare snapback utilizzando l'SDK IMA DAI, come illustrato nel nostro esempio avanzato.

Impedire che una ricerca lasci un'interruzione pubblicitaria non visualizzata

Controlla se l'utente ha eseguito una ricerca che ha superato un'interruzione pubblicitaria non visualizzata e, in caso affermativo, riportalo all'interruzione pubblicitaria. L'esempio avanzato di Roku si basa sulla pressione dei tasti del telecomando per la ricerca dell'utente. Ogni volta che l'utente preme il tasto Avanti, il video avanza di un numero prestabilito di secondi. Lo stesso metodo che gestisce questo salto controlla anche se il salto porta l'utente oltre o all'interno di un'interruzione pubblicitaria e, in caso affermativo, lo indirizza all'inizio dell'interruzione pubblicitaria:

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

Riportare l'utente alla posizione di riproduzione originale

Nel gestore adBreakEnded, controlla se la pausa pubblicitaria precedente è stata riprodotta a seguito di un ritorno rapido. In questo caso, riporta l'utente al punto che stava cercando di raggiungere inizialmente (a condizione che non si tratti della metà dell'interruzione pubblicitaria appena riprodotta):

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