Este guia mostra como implementar a criação de favoritos usando o SDK do IMA DAI ao usar a Inserção de anúncios dinâmicos (DAI, na sigla em inglês) para streams de vídeo sob demanda (VOD). Isso pressupõe uma implementação funcional do IMA DAI, como a apresentada em Introdução.
O que é a criação de favoritos?
A criação de favoritos é a capacidade de salvar e depois voltar a um ponto específico no stream de conteúdo. Digamos que um usuário assista cinco minutos de conteúdo, saia do stream de vídeo e, em seguida, retorne a ele. Com os favoritos, a posição do usuário no stream é salva. Assim o stream pode começar de onde parou, proporcionando uma experiência agradável ao espectador.
Criação de favoritos do DAI em segundo plano
Ao criar um favorito em um stream de DAI, você precisa registrar o ID e o horário do stream quando o usuário sair do vídeo. Quando o usuário retornar, solicite o stream novamente e procure o horário salvo. Como cada instância do stream solicitado pode ter intervalos de anúncios de durações diferentes, salvar apenas o horário do stream não funciona. O que você realmente quer fazer é continuar do mesmo horário do conteúdo.
Métodos de conversão para ajudar
O SDK do IMA DAI oferece um par de métodos para solicitar o horário do conteúdo de um determinado horário do stream e o horário do stream de um determinado horário do conteúdo. Usando esses métodos de conversão, você pode armazenar o horário do conteúdo marcado como favorito e procurar o horário do stream correspondente na nova instância do stream. Confira a abordagem, incluindo um link para um app de exemplo que mostra uma implementação funcional de criação de favoritos.
Como salvar favoritos
Salve um favorito quando a atividade for pausada.
Saves the current time as a bookmark in the current video.
Function saveBookmarkTime(player as Object, streamManager as Object) as Void
m.videos[player.video.index].bookmarkTime =
streamManager.getContentTime(player.currentTime * 1000)
End Function
Como carregar favoritos
Carregue o favorito ao solicitar um stream novamente. Isso faz parte da implementação da interface VideoStreamPlayer.
player.loadUrl = Function(streamInfo as Object)
...
If m.video.bookmarkTime > 0
streamTime = m.streamManager.getStreamTime(m.video.bookmarkTime)
m.videoPlayer.seek(streamTime)
End If
End Function