Salvar e carregar favoritos do fluxo de anúncios

Selecione a plataforma: HTML5 Android iOS tvOS Roku

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.