Rastrear a reprodução principal usando o JavaScript 3.x track-core-playback-on-javascript

Esta documentação abrange o rastreamento na versão 3.x do SDK.

IMPORTANT
Se estiver implementando uma versão anterior do SDK, você pode baixar os Guias dos desenvolvedores Anterior 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.

    API de createMediaObject API

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Nome da variável Tipo Descrição
    name string String não vazia que indica o nome da mídia.
    id string String não vazia que indica um identificador de mídia exclusivo.
    length number Número positivo que indica a duração da mídia em segundos. Use 0 se o comprimento for desconhecido.
    streamType string
    mediaType Tipo de mídia (áudio ou vídeo).

    StreamTypeConstantes:

    table 0-row-2 1-row-2 2-row-2
    Nome da constante Descrição
    VOD Tipo de fluxo para vídeo sob demanda.
    AOD Tipo de fluxo para áudio sob demanda.

    MediaTypeConstantes:

    table 0-row-2 1-row-2 2-row-2
    Nome da constante Descrição
    Audio Tipo de mídia para fluxos de áudio.
    Video Tipo de mídia para fluxos de vídeo.
    code language-none
    var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>,
                                      <MEDIA_ID,
                                      <MEDIA_LENGTH>,
                                      <STREAM_TYPE>,
                                      <MEDIA_TYPE>);
    
  2. Anexar metadados

    Opcionalmente, anexe metadados padrão e/ou personalizados à sessão de rastreamento por meio de variáveis de dados de contexto.

    • Metadados padrão

      note note
      NOTE
      Anexar os metadados padrão é opcional.
    • Metadados personalizados

      Crie um objeto variável para as variáveis personalizadas e preencha com os dados desta mídia. Por exemplo:

      code language-js
      /* Set context data */
       var contextData = {};
      
       //Standard metadata
       contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
       contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
      
       //Custom metadata
       contextData["isUserLoggedIn"] = "false";
       contextData["tvStation"] = "Sample TV Station";
      
  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 Media Heartbeat:

    code language-js
    var mediaObject = ADB.Media.createMediaObject("video-name",
                                                  "video-id",
                                                  60.0,
                                                  ADB.Media.StreamType.VOD,
                                                  ADB.Media.MediaType.Video);
    
    var contextData = {};
    
    //Standard metadata
    contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
    contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
    
    //Custom metadata
    contextData["isUserLoggedIn"] = "false";
    contextData["tvStation"] = "Sample TV Station";
    
    tracker.trackSessionStart(mediaObject, contextData);
    
    note important
    IMPORTANT
    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 e estimar a métrica de tempo do início de QoS (duração entre trackSessionStart e trackPlay).
    note note
    NOTE
    Se não estiver usando contextData, basta enviar um objeto vazio para o argumento data em trackSessionStart.
  4. Rastrear o início real da reprodução

    Identifique o evento no 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:

    code language-js
    tracker.trackPlay();
    
  5. Atualizar valor do indicador de reprodução

    Quando o indicador de reprodução de mídia for alterado, notifique o SDK, chamando o mediaUpdatePlayhead API.
    Para vídeos sob demanda (VOD), o valor é especificado em segundos a partir do início do item de mídia.
    Para transmissões ao vivo, se o player não fornecer informações sobre a duração do conteúdo, o valor pode ser especificado como o número de segundos desde a meia-noite UTC daquele dia.

    code language-none
    tracker.updatePlayhead(position)
    
    note note
    NOTE
    Considere o seguinte ao chamar o tracker.updatePlayhead API:
    • Ao usar marcadores de progresso, a duração do conteúdo é necessária e o indicador de reprodução precisa ser atualizado para o número de segundos desde o início do item de mídia, começando com 0.
    • Ao usar SDKs de mídia, você deve chamar o tracker.updatePlayhead pelo menos uma vez por segundo.
  6. Rastrear a conclusão da reprodução

    Identifique o evento no 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:

    code language-js
    tracker.trackComplete();
    
  7. Rastrear o final da sessão

    Identifique o evento no 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:

    code language-js
    tracker.trackSessionEnd();
    
    note important
    IMPORTANT
    trackSessionEnd marca o fim de uma sessão de rastreamento. 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.
  8. Rastrear todos os cenários de pausa possíveis

    Identifique o evento do reprodutor de mídia para pausa e chame trackPause:

    code language-js
    tracker.trackPause();
    

    Pausar cenários

    Identifique qualquer cenário no qual o reprodutor de mídia será pausado e verifique se trackPause foi chamado corretamente. Os seguintes cenários exigem que o aplicativo chame trackPause():

    • O usuário faz uma pausa explicitamente no aplicativo.
    • O player se coloca no estado Pausa.
    • (Aplicativos móveis) - O usuário coloca o aplicativo em segundo plano, mas você deseja que ele 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 uma pop-up de outro aplicativo ocorre, mas você deseja que o aplicativo mantenha a sessão ativa para dar ao usuário a oportunidade de retomar a mídia a partir do ponto de interrupção.
  9. Identifique o evento do reprodutor para reprodução e/ou retomada da pausa e chame trackPlay:

    code language-js
    tracker.trackPlay();
    
    note tip
    TIP
    Esta pode ser a mesma fonte de evento utilizada na Etapa 4. Verifique se cada chamada da API trackPause() está emparelhada a uma chamada da API trackPlay() quando a reprodução for retomada.
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb