Este guia mostra como implementar a criação de favoritos usando o SDK da 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 funcional da DAI da IMA, como a apresentada em Começar.
O que é adicionar aos 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.
Como funciona a criação de favoritos da DAI
Ao adicionar um fluxo da DAI aos favoritos, você precisa registrar o ID e o tempo do fluxo quando o usuário sai do vídeo. Quando o usuário voltar, solicite novamente o fluxo e procure o tempo salvo. Como cada instância do stream solicitado pode ter intervalos de anúncios de durações diferentes, salvar apenas o tempo do stream não funciona. O que você realmente quer fazer é continuar do mesmo tempo de conteúdo.
Métodos de conversão para ajudar
O SDK de DAI do IMA oferece um par de métodos para solicitar o tempo de conteúdo de um determinado tempo de stream e o tempo de stream de um determinado tempo de conteúdo. Usando esses métodos de conversão, você pode armazenar o tempo de conteúdo marcado com um marcador e, em seguida, buscar 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 favoritos em funcionamento.
Como salvar favoritos
Salvar um marcador quando o Activity
estiver em pausa.
private double bookmarkTime;
@Override
public void onPause() {
super.onPause();
double streamTime = videoPlayer.getCurrentPosition() / 1000.0; // ms to s.
bookmarkTime = streamManager.getContentTimeForStreamTime(streamTime);
}
Carregando favoritos
Carregue o marcador ao solicitar novamente uma transmissão. Isso faz parte da implementação da interface VideoStreamPlayer
.
public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
// Set video player's stream URL and subtitles, and play the stream.
...
// Bookmarking.
if (bookmarkTime > 0) {
double streamTime =
streamManager.getStreamTimeForContentTime(bookmarkTime);
videoPlayer.seek((long) (streamTime * 1000.0)); // s to ms.
}
}
App de exemplo
Faça o download do app de exemplo para conferir uma implementação de favoritos.