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.
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 createMediaObjectWithName
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 |
StreamType
Constantes:
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 |
MediaType
Constantes:
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>];
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
Chaves de metadados de vídeo
Consulte a lista completa de metadados de vídeo aqui: Parâmetros de áudio e vídeo
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"];
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.
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];
}
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];
}
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.
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()
:
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: