Marcadores de livros

Neste guia, mostramos como implementar a adiçã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, como a apresentada em Começar.

O que são favoritos?

Adicionar aos favoritos é a capacidade de salvar e depois voltar a um ponto específico no stream de conteúdo. Suponha que um usuário assista a cinco minutos de conteúdo, saia do stream de vídeo e depois volte a ele. Ao adicionar os favoritos, a posição do usuário no stream é salva para que o stream possa continuar de onde parecia, proporcionando uma experiência perfeita ao espectador.

Criação de favoritos da DAI em segundo plano

Ao adicionar um stream DAI aos favoritos, é necessário registrar o ID do stream e a hora em que o usuário sai 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, simplesmente economizar tempo de stream não funcionará. O que você realmente quer fazer é continuar a partir do mesmo horário do conteúdo.

Métodos de conversão para o resgate

O SDK de DAI do IMA oferece dois métodos para solicitar o tempo do conteúdo de um determinado tempo de transmissão e o tempo de transmissão de um determinado tempo de conteúdo. Com esses métodos de conversão, é possível armazenar o tempo do conteúdo favorito e, em seguida, procurar o tempo de stream correspondente na nova instância do stream. Confira a abordagem, incluindo um link para um app de exemplo que mostra uma implementação de adição aos favoritos.

Salvando favoritos

Salvar um favorito quando a atividade estiver 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. Ele 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

App de exemplo

App de exemplo