Como editor de vídeo, talvez você queira impedir que os espectadores conquistem os anúncios intermediários. Quando um usuário procura um intervalo de anúncio, é possível retornar ao início do intervalo e retorná-lo ao local de busca depois que o intervalo de anúncio terminar. Esse recurso é chamado de "ajuste".
Como exemplo, confira o diagrama abaixo. O espectador está assistindo um vídeo e decide passar da marca de 5 a 15 minutos. No entanto, há um intervalo de anúncio na marca de 10 minutos que você quer que eles assistam antes que possam assistir ao conteúdo depois:
Para mostrar esse intervalo de anúncio, siga estas etapas:
- Verifique se o usuário fez uma busca que ultrapassou um intervalo de anúncio não assistido e, em caso afirmativo, leve-o de volta ao intervalo de anúncio.
- Após a conclusão do intervalo de anúncio, retorne-os à busca original.
Em forma de diagrama, o resultado é parecido com este:
Veja como implementar o Snapack usando o SDK de DAI do IMA, conforme demonstrado no nosso exemplo avançado.
Impedir que uma busca deixe um intervalo de anúncio sem exibição
Verifique se o usuário executou uma busca que passou por um intervalo de anúncio não assistido e, em caso afirmativo, leve-o de volta ao intervalo de anúncio. O exemplo avançado do Roku depende do pressionamento remoto do botão para que o usuário busque. Cada vez que ele pressionar o botão "Avançar", ele avançará no stream por um número definido de segundos. O mesmo método que processa esse salto também verifica se ele passa ou entra em um intervalo de anúncio e, em caso afirmativo, direciona o usuário para o início desse 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
Colocar o usuário de volta à busca original
No gerenciador adBreakEnded
, verifique se o intervalo de anúncio
anterior foi reproduzido como resultado do Snapback. Em caso afirmativo, retorne o
usuário ao local que ele estava tentando buscar inicialmente, desde que
não fosse o meio do intervalo de anúncio 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