Este guia mostra como implementar a inclusão de favoritos usando o SDK de DAI do IMA ao usar a Inserção de anúncios dinâmicos (DAI) para streams de vídeo on demand (VOD). Isso pressupõe uma implementação de DAI do IMA ativa, como a apresentada no Primeiros passos.
O que são favoritos?
Adicionar aos favoritos é a capacidade de salvar e depois voltar a um ponto específico no fluxo de conteúdo. Suponha que um usuário assista a cinco minutos de conteúdo, sai do stream de vídeo e depois retorna a ele. Os favoritos salvam posição do usuário na transmissão para que ela possa continuar de onde parado, proporcionando uma experiência perfeita ao espectador.
Como a inclusão de marcadores de posição da DAI funciona
Ao adicionar um stream da DAI aos favoritos, registre o código e o horário dele quando o usuário sair do vídeo. Quando o usuário retornar, solicite novamente o stream e procurar o tempo economizado. Como cada instância do stream solicitado pode ter intervalos de anúncios de durações diferentes, simplesmente salvar o tempo do stream não vai funcionar. O que você realmente deve fazer é continuar com a mesma tempo de conteúdo.
Métodos de conversão ao resgate
O SDK de DAI do IMA oferece dois métodos para solicitar o tempo do conteúdo. para um determinado tempo de transmissão e o tempo da transmissão para um determinado conteúdo tempo de resposta. Com esses métodos de conversão, é possível armazenar os favoritos tempo de conteúdo e depois o tempo da transmissão correspondente em a nova instância do fluxo. Aqui está a abordagem, incluindo um link a um app de exemplo que mostra uma implementação de adição de favoritos em funcionamento.
Salvando favoritos
Salvar 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
Carregando favoritos
Carregue o favorito ao solicitar um stream novamente. Faz parte da implementação
a 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