Show Menu
TÓPICOS×

Rastreamento da reprodução principal no iOS

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 os Guias dos desenvolvedores 1.x 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 do vídeo
    Sim
    mediaid
    Identificador exclusivo do vídeo
    Sim
    length
    Duração do vídeo
    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
    ADBMediaHeartbeatStreamTypeVOD
    Tipo de fluxo para vídeo sob demanda
    ADBMediaHeartbeatStreamTypeLIVE
    Tipo de fluxo para conteúdo LIVE
    ADBMediaHeartbeatStreamTypeLINEAR
    Tipo de fluxo para conteúdos lineares
    ADBMediaHeartbeatStreamTypeAOD
    Tipo de fluxo para áudio sob demanda
    ADBMediaHeartbeatStreamTypeAUDIOBOOK
    Tipo de fluxo para audiobook
    ADBMediaHeartbeatStreamTypePODCAST
    Tipo de fluxo para podcast
    Constantes de MediaType :
    Nome da constante
    Descrição
    ADBMediaTypeAudio
    Tipo de mídia para fluxos de áudio.
    ADBMediaTypeVideo
    Tipo de mídia para fluxos de vídeo.
    O formato geral para criar o MediaObject :
    ADBMediaObject *mediaObject =  
      [ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME> 
                                           mediaId:<MEDIA_ID> 
                                            length:<MEDIA_LENGTH>                       
                                        streamType:<STREAM_TYPE> 
                                         mediaType: <MEDIA_TYPE>];
    
    
  2. Anexar metadados de vídeo
    Opcionalmente, anexe objetos de metadados de vídeo padrão e/ou personalizados à sessão de rastreamento de vídeo por meio de variáveis de dados de contexto.
    • Metadados de vídeo padrão
      Anexar o objeto de metadados de vídeo padrão ao objeto de mídia é opcional.
    • Metadados personalizados
      Crie um objeto variável para as variáveis personalizadas e preencha com os dados deste vídeo. Por exemplo:
      NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init]; 
      [videoMetadata setObject:@"false" forKey:@"isUserLoggedIn"]; 
      [videoMetadata setObject:@"Sample TV station" forKey:@"tvStation"];
      
      
  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.
    O segundo valor é o nome de objeto dos metadados de vídeo personalizados, criado na etapa 2.
    - (void)onMainVideoLoaded:(NSNotification *)notification { 
    //    [_mediaHeartbeat trackSessionStart:mediaObject data:nil]; 
        [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata]; 
    }
    
    
    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 vídeo 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 vídeo personalizados, basta enviar um objeto vazio para o argumento data em trackSessionStart , como mostrado na linha comentada do exemplo de iOS acima.
  4. Rastrear o início real da reprodução
    Identifique o evento no reprodutor de vídeo a partir do início da reprodução, onde o primeiro quadro do vídeo é renderizado na tela, e chame trackPlay .
    - (void)onVideoPlay:(NSNotification *)notification { 
        [_mediaHeartbeat trackPlay]; 
    }
    
    
  5. Rastrear a conclusão da reprodução
    Identifique o evento no reprodutor de vídeo para a conclusão da reprodução, onde o usuário assistiu ao conteúdo até o fim, e chame trackComplete .
    - (void)onVideoComplete:(NSNotification *)notification { 
        [_mediaHeartbeat trackComplete]; 
    }
    
    
  6. Rastrear o final da sessão
    Identifique o evento no reprodutor de vídeo para o descarregamento/encerramento da reprodução, onde o usuário fecha o vídeo, e/ou ele é concluído e descarregado, e chame trackSessionEnd .
    - void)onMainVideoUnloaded:(NSNotification *)notification { 
        [_mediaHeartbeat trackSessionEnd]; 
    }
    
    
    trackSessionEnd marca o fim de uma sessão de rastreamento de vídeo. 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 vídeo.
  7. Rastrear todos os cenários de pausa possíveis
    Identifique o evento no reprodutor de vídeo para vídeos pausados e chame trackPause :
    - (void)onVideoPause:(NSNotification *)notification { 
        [_mediaHeartbeat 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 ocorre, mas você deseja que o aplicativo mantenha a sessão ativa para que o usuário possa retomar o vídeo do ponto em que foi interrompido.
  8. Identifique o evento do reprodutor para reprodução e/ou continuação do vídeo a partir da pausa e chame trackPlay :
    - (void)onVideoPlay:(NSNotification *)notification { 
        [_mediaHeartbeat trackPlay]; 
    }
    
    
    Esta pode ser a mesma fonte de evento utilizada na Etapa 4. Verifique se cada chamada trackPause() da API está emparelhada a uma chamada trackPlay() da API quando a reprodução continuar.
Consulte as informações adicionais sobre o rastreamento da reprodução principal: