Marcadores de livros

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

App de exemplo

App de exemplo