Show Menu
TOPICS×

Rastreamento da reprodução principal no Android

Esta documentação abrange o rastreamento na versão 2.x do SDK. Se estiver implementando uma versão 1.x do SDK, você pode baixar o Guia dos desenvolvedores 1.x para Android aqui: Baixar SDKs .
  1. Configuração de rastreamento inicial
    Identifique quando o usuário aciona a intenção de reproduzir (o usuário clica em Reproduzir e/ou a reprodução automática está ativada) e crie uma instância
    MediaObject
    .
    Nome da variável
    Descrição
    Obrigatório
    name
    Nome da mídia
    Sim
    mediaId
    Identificador exclusivo de mídia
    Sim
    length
    Comprimento da mídia
    Sim
    streamType
    Tipo de fluxo (consulte
    Constantes de StreamType
    abaixo)
    Sim
    mediaType
    Tipo de mídia (consulte
    Constantes de MediaType
    abaixo)
    Sim
    Constantes de
    StreamType
    :
    Nome da constante
    Descrição
    VOD
    Tipo de fluxo para vídeo sob demanda.
    LIVE
    Tipo de fluxo para conteúdo LIVE.
    LINEAR
    Tipo de fluxo para conteúdos lineares.
    AOD
    Tipo de fluxo para áudio sob demanda
    AUDIOBOOK
    Tipo de fluxo para audiobook
    PODCAST
    Tipo de fluxo para podcast
    Constantes de
    MediaType
    :
    Nome da constante
    Descrição
    Audio
    Tipo de mídia para fluxos de áudio.
    Video
    Tipo de mídia para fluxos de vídeo.
    MediaHeartbeat.createMediaObject(<MEDIA_NAME>, <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
  2. Anexar metadados
    Opcionalmente, anexe objetos de metadados padrão e/ou personalizados à sessão de rastreamento por meio de variáveis de dados de contexto.
    • Metadados padrão
      Anexar o objeto de metadados padrão ao objeto de mídia é opcional.
    • Metadados personalizados
      Crie um dicionário para as variáveis personalizadas e preencha com os dados desta mídia. Por exemplo:
      HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put("isUserLoggedIn", "false"); mediaMetadata.put("tvStation", "Sample TV Station"); mediaMetadata.put("programmer", "Sample programmer");
  3. Rastrear a intenção de iniciar a reprodução
    Para começar a rastrear uma sessão de mídia, chame
    trackSessionStart
    na instância do Heartbeat de mídia. Por exemplo:
    public void onVideoLoad(Observable observable, Object data) { _heartbeat.trackSessionStart(mediaInfo, mediaMetadata); }
    O segundo valor é o nome de objeto dos metadados de mídia personalizados, criado na etapa 2.
    trackSessionStart
    rastreia a intenção de reproduzir do usuário e não o início da reprodução. Essa API é utilizada para carregar os dados/metadados de mídia e estimar a métrica de tempo do início de QoS (duração entre
    trackSessionStart
    e
    trackPlay
    ).
    Se não estiver utilizando metadados de mídia personalizados, basta enviar um objeto vazio para o argumento em
    trackSessionStart
    .
  4. Rastrear o início real da reprodução
    Identifique o evento do reprodutor de mídia para o início da reprodução, em que o primeiro quadro da mídia é renderizado na tela, e chame
    trackPlay
    :
    // Video is rendered on the screen) and call trackPlay. public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
  5. Rastrear a conclusão da reprodução
    Identifique o evento do reprodutor de mídia para a conclusão da reprodução, em que o usuário assistiu ao conteúdo até o fim, e chame
    trackComplete
    :
    public void onVideoComplete(Observable observable, Object data) { _heartbeat.trackComplete(); }
  6. Rastrear o final da sessão
    Identifique o evento do reprodutor de mídia para o descarregamento/encerramento da reprodução, em que o usuário fecha a mídia, e/ou a mídia é concluída e descarregada, e chame
    trackSessionEnd
    :
    // Closes the media and/or the media completed and unloaded, // and call trackSessionEnd(). public void onMainVideoUnload(Observable observable, Object data) { _heartbeat.trackSessionEnd(); }
    trackSessionEnd
    marca o fim de uma sessão de rastreamento de mídia. Se a sessão tiver sido assistida até o final, onde o usuário assistiu ao conteúdo até o fim, verifique se
    trackComplete
    () é chamado antes de
    trackSessionEnd
    . Qualquer outra chamada de API de
    track*
    é ignorada depois de
    trackSessionEnd
    , exceto por
    trackSessionStart
    para uma nova sessão de rastreamento de mídia.
  7. Rastrear todos os cenários de pausa possíveis
    Identifique o evento no reprodutor de mídia para pausa de mídia e chame
    trackPause
    :
    public void onVideoPause(Observable observable, Object data) { _heartbeat.trackPause(); }
    Pausar cenários
    Identifique qualquer cenário no qual o reprodutor de vídeo será pausado e verifique se
    trackPause
    foi chamado corretamente. Os seguintes cenários exigem que o aplicativo chame
    trackPause()
    :
    • O usuário clica explicitamente em Pausar no aplicativo.
    • O reprodutor se coloca no estado Pausado.
    • (
      Aplicativos móveis
      ) - O usuário coloca o aplicativo em segundo plano, mas você deseja que o aplicativo mantenha a sessão aberta.
    • (
      Aplicativos móveis
      ) - Qualquer tipo de interrupção de sistema que ocorra e faça com que um aplicativo seja colocado em segundo plano. Por exemplo, o usuário recebe uma chamada ou um pop-up de outro aplicativo é exibido, mas você deseja que o aplicativo mantenha a sessão ativa para que o usuário possa retomar a mídia do ponto em que foi interrompida.
  8. Identifique o evento do reprodutor para reprodução e/ou retomada da pausa da mídia e chame
    trackPlay
    .
    // trackPlay() public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
    Esta pode ser a mesma fonte de evento utilizada na Etapa 4. Verifique se cada chamada da API de
    trackPause()
    está emparelhada a uma chamada da API de
    trackPlay()
    quando a reprodução de mídia for retomada.
Consulte as informações adicionais sobre o rastreamento da reprodução principal: