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
.
MediaObject
referência:
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 de:
Nome da constante | Descrição |
---|---|
MEDIA_STREAM_TYPE_VOD |
Tipo de fluxo para vídeo sob demanda. |
MEDIA_STREAM_TYPE_LIVE |
Tipo de fluxo para conteúdo LIVE. |
MEDIA_STREAM_TYPE_LINEAR |
Tipo de fluxo para conteúdos lineares. |
MEDIA_STREAM_TYPE_AOD |
Tipo de fluxo para áudio sob demanda |
MEDIA_STREAM_TYPE_AUDIOBOOK |
Tipo de fluxo para audiobook |
MEDIA_STREAM_TYPE_PODCAST |
Tipo de fluxo para podcast |
MediaType
Constantes de:
Nome da constante | Descrição |
---|---|
MEDIA_STREAM_TYPE_AUDIO |
Tipo de mídia para fluxos de áudio. |
MEDIA_STREAM_TYPE_VIDEO |
Tipo de mídia para fluxos de vídeo. |
Crie um objeto de informações de mídia para vídeo com conteúdo de VOD:
mediaInfo = adb_media_init_mediainfo(
"<MEDIA_NAME>",
"<MEDIA_ID>",
600,
ADBMobile().MEDIA_STREAM_TYPE_VOD,
ADBMobile().MEDIA_TYPE_VIDEO
)
ou
mediaInfo = adb_media_init_mediainfo()
mediaInfo.name = "<MEDIA_NAME>"
mediaInfo.id = "<MEDIA_ID>"
mediaInfo.length = 600
mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD
mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEO
Crie um objeto de informações de mídia para vídeo com conteúdo AOD:
mediaInfo = adb_media_init_mediainfo(
"<MEDIA_NAME>",
"<MEDIA_ID>",
600,
ADBMobile().MEDIA_STREAM_TYPE_AOD,
ADBMobile().MEDIA_TYPE_AUDIO
)
ou
mediaInfo = adb_media_init_mediainfo()
mediaInfo.name = "<MEDIA_NAME>"
mediaInfo.id = "<MEDIA_ID>"
mediaInfo.length = 600
mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD
mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO
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
Implementar metadados padrão no JavaScript
Anexar o objeto de metadados padrão ao objeto de mídia é opcional.
Referência da API de chaves de metadados de mídia - Chaves de metadados padrão - JavaScript
Consulte o conjunto completo de metadados aqui: Parâmetros de áudio e vídeo
Metadados personalizados
Crie um objeto variável para as variáveis personalizadas e preencha com os dados desta mídia. Por exemplo:
/* Set custom context data */
var customVideoMetadata = {
isUserLoggedIn: "false",
tvStation: "Sample TV station",
programmer: "Sample programmer"
};
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:
mediaHeartbeat.trackSessionStart(mediaObject, customVideoMetadata);
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 e estimar a métrica de tempo do início de QoS (duração entre trackSessionStart
e trackPlay
).
Se não estiver utilizando metadados 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 mídia para o início da reprodução, em que o primeiro quadro da mídia é renderizado na tela, e chame trackPlay
:
mediaHeartbeat.trackPlay();
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
:
mediaHeartbeat.trackComplete();
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
:
mediaHeartbeat.trackSessionEnd();
Um 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. Método de rastreamento da reprodução de mídia para rastrear o carregamento da mídia e definir a sessão atual como ativa:
‘ Create a media info object
mediaInfo = adb_media_init_mediainfo()
mediaInfo.id = <MEDIA_ID>
mediaInfo.playhead = "0"
mediaInfo.length = "600"
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
Implementar metadados padrão no Roku
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:
mediaContextData = {}
mediaContextData["cmk1"] = "cmv1"
mediaContextData["cmk2"] = "cmv2"
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:
ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)
O segundo valor é o nome de objeto dos metadados de vídeo 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 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
.
ADBMobile().mediaTrackPlay()
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
.
ADBMobile().mediaTrackComplete()
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
.
ADBMobile().mediaTrackSessionEnd()
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
:
ADBMobile().mediaTrackPause()
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
:
ADBMobile().mediaTrackPlay()
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.