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 adicionar favoritos em segundo plano da DAI

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 evento a transmissão pode ter intervalos de anúncios de diferentes durações. Basta salvar a transmissão. 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

Salve um favorito quando a Activity estiver pausada.

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 favorito ao solicitar um stream novamente. Faz parte da implementação a 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

Fazer o download do app de exemplo para ver uma implementação dos favoritos.