En las siguientes instrucciones se indican los pasos para la implementación en todos los kits de desarrollo de software de 2.x.
Si va a implementar una versión 1.x del SDK, puede descargar las guías del desarrollador de 1.x aquí: Descargar SDK.
Configuración de seguimiento inicial
Identifique el momento en que el usuario desencadena la intención de reproducir (cuando hace clic en reproducir o la reproducción automática está activada) y cree una instancia de MediaObject
.
Nombre de variable | Descripción | Requerido |
---|---|---|
name |
Nombre del contenido | Sí |
mediaid |
Identificador único del contenido | Sí |
length |
Duración del contenido | Sí |
streamType |
Tipo de flujo (consulte Constantes de StreamType a continuación) | Sí |
mediaType |
Tipo de contenido (consulte Constantes de MediaType a continuación) | Sí |
StreamType
Constantes:
Nombre de la constante | Descripción |
---|---|
VOD |
Tipo de emisión de vídeo bajo demanda. |
LIVE |
Tipo de emisión de contenido en directo. |
LINEAR |
Tipo de emisión de contenido lineal. |
AOD |
Tipo de emisión de audio a la carta. |
AUDIOBOOK |
Tipo de emisión de audiolibro. |
PODCAST |
Tipo de emisión de podcast. |
MediaType
Constantes:
Nombre de la constante | Descripción |
---|---|
Audio |
Tipo de contenido para emisiones de audio. |
Video |
Tipo de contenido para emisiones de vídeo. |
var mediaObject =
MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
<MEDIA_ID,
<MEDIA_LENGTH>,
MediaHeartbeat.StreamType.VOD,
<MEDIA_TYPE>);
Adjuntar metadatos
Opcionalmente, se pueden adjuntar objetos de metadatos estándar o personalizados a la sesión de seguimiento mediante el uso de variables de datos de contexto.
Metadatos estándar
Implementación de metadatos estándar en JavaScript
No es obligatorio adjuntar el objeto de metadatos estándar al objeto de contenidos.
Referencia de API de claves de metadatos de contenidos: Claves de metadatos estándar de JavaScript
Consulte el conjunto completo de metadatos disponibles aquí: Parámetros de audio y vídeo.
Metadatos personalizados
Cree un objeto de variable para las variables personalizadas y rellénelo con los datos de estos contenidos. Por ejemplo:
/* Set custom context data */
var customVideoMetadata = {
isUserLoggedIn: "false",
tvStation: "Sample TV station",
programmer: "Sample programmer"
};
Realice un seguimiento de la intención de iniciar la reproducción
Para empezar a realizar el seguimiento de una sesión multimedia, invoque a trackSessionStart
en la instancia de Media Heartbeat:
mediaHeartbeat.trackSessionStart(mediaObject, customVideoMetadata);
El segundo valor es el nombre de objeto de metadatos de contenido personalizado que ha creado en el paso 2.
trackSessionStart
rastrea la intención de reproducción, no el comienzo de la reproducción. Esta API se utiliza para cargar los datos y los metadatos, y para calcular la métrica de QoS (tiempo entre trackSessionStart
y trackPlay
).
Si no utiliza metadatos personalizados, envíe un objeto vacío para el argumento data
en trackSessionStart
, tal y como se muestra en la línea comentada del ejemplo para iOS anterior.
Realizar un seguimiento del inicio real de la reproducción
Identifique el evento del reproductor de contenido para el principio de la reproducción, cuando se renderice el primer fotograma del contenido en la pantalla, e invoque trackPlay
:
mediaHeartbeat.trackPlay();
Realizar un seguimiento de la finalización de la reproducción
Identifique el evento del reproductor de contenido para la finalización de la reproducción cuando el usuario ha visto el contenido hasta el final e invoque trackComplete
:
mediaHeartbeat.trackComplete();
Realizar un seguimiento del final de la sesión
Identifique el evento del reproductor de contenido para la carga o el cierre de la reproducción, cuando el usuario cierra o se completa la descarga, e invoque trackSessionEnd
:
mediaHeartbeat.trackSessionEnd();
trackSessionEnd
marca el final de una sesión de seguimiento. Si la sesión se ha visto por completo correctamente, es decir, el usuario ha visto el contenido hasta el final, asegúrese de invocar trackComplete
antes que trackSessionEnd
. Las demás llamadas de la API track*
se pasan por alto después de trackSessionEnd
(salvo trackSessionStart
en una nueva sesión de seguimiento).
Rastrear todos los escenarios de pausa posibles
Identifique el evento desde el reproductor de contenidos para pausar e invocar trackPause
:
mediaHeartbeat.trackPause();
Pausar escenarios
Identifique cualquier situación en la que se pausará el reproductor de contenido y compruebe que se ha invocado trackPause
correctamente. Las siguientes situaciones requieren que la aplicación invoque trackPause()
:
Identifique el evento del reproductor para la reproducción o reanudación después de la pausa e invoque trackPlay
:
mediaHeartbeat.trackPlay();
Puede ser el mismo origen de evento empleado en el paso 4. Asegúrese de que cada llamada de API trackPause()
esté emparejada con una llamada posterior a la API trackPlay()
cuando se reanude la reproducción.