Como editor de vídeo, talvez você queira evitar que seus espectadores além dos anúncios intermediários. Quando um usuário passa por um intervalo de anúncio, volte ao início do intervalo de anúncio e retorne ao local de busca após a conclusão do intervalo comercial. Isso é chamado de "Snapback".
Como exemplo, veja o diagrama abaixo. O espectador estiver assistindo um vídeo, e decide procurar da marca de 5 para a de 15 minutos. No entanto, há um intervalo comercial na marca de 10 minutos que você deseja que eles assistam antes de poderem assistir ao conteúdo depois dele:
Para mostrar esse intervalo de anúncio, siga estas etapas:
- Verifique se o usuário executou uma busca que ultrapassou um intervalo de anúncio não assistido. Em caso afirmativo, leve-o de volta ao intervalo de anúncio.
- Após o intervalo comercial, retorne o usuário ao ponto de busca original.
No formato de diagrama, o código fica assim:
Confira como implementar o Snappack usando o SDK do IMA DAI, conforme demonstrado no nosso exemplo avançado.
Evite que um usuário tente deixar um intervalo de anúncio sem assistir.
Verifique se o usuário fez uma busca que passou de um intervalo de anúncio não assistido. Em caso afirmativo, leve-o de volta ao intervalo de anúncio. O exemplo avançado do Roku depende do pressionamento remoto de botões para o que o usuário busque - sempre que o usuário pressionar o botão para avançar, ele avança no stream por um determinado número de segundos. O mesmo que lida com este salto também verifica se o salto realiza uma pausa de anúncio no passado ou em um intervalo de anúncio e, se isso acontecer, envia o usuário ao início do intervalo de anúncio:
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
Retorne o usuário à busca original
No seu gerenciador adBreakEnded
, verifique se o anúncio anterior
pausa foi reproduzido como resultado do Snapback. Nesse caso, retorne o
o usuário ao local que ele estava tentando ir inicialmente (contanto que
já que não era o meio do intervalo comercial que acabou de ser reproduzido):
player.adBreakEnded = Function(adBreakInfo as Object)
If m.isSnapback
m.seek(m.timeAfterSnapback * 1000)
m.isSnapback = False
End If
End Function