Seguimiento de reproducción principal con JavaScript 3.x track-core-playback-on-javascript
Esta documentación abarca el seguimiento en la versión 3.x del 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
.table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Nombre de variable Tipo Descripción name
string Cadena no vacía que indica el nombre de los medios. id
string Cadena no vacía que indica un identificador de medios único. length
number Número positivo que indica la longitud de los medios en segundos. Utilice 0 si se desconoce la longitud. streamType
string mediaType
Tipo de medios (audio o vídeo). StreamType
Constantes:table 0-row-2 1-row-2 2-row-2 Nombre de la constante Descripción VOD
Tipo de emisión de vídeo bajo demanda. AOD
Tipo de emisión de audio a la carta. MediaType
Constantes:table 0-row-2 1-row-2 2-row-2 Nombre de la constante Descripción Audio
Tipo de contenido para emisiones de audio. Video
Tipo de contenido para emisiones de vídeo. code language-none var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>, <MEDIA_ID, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
-
Adjuntar metadatos
Opcionalmente, se pueden adjuntar metadatos estándar o personalizados a la sesión de seguimiento mediante el uso de variables de datos de contexto.
-
Metadatos estándar
note note NOTE La adición de metadatos estándar es opcional. -
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:
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";
-
-
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: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
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 entretrackSessionStart
ytrackPlay
).note note NOTE Si no utiliza contextData, envíe un objeto vacío para el argumento data
entrackSessionStart
. -
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
:code language-js tracker.trackPlay();
-
Actualización de valor del cabezal de reproducción
Cuando el cabezal de reproducción de contenido cambie, notifique al SDK llamando a la función
mediaUpdatePlayhead
API.
Para el vídeo bajo demanda (VOD), el valor se especifica segundos después del comienzo del elemento de medios.
Para el streaming en directo, si el reproductor no proporciona información acerca de la duración del contenido, el valor se puede especificar como el número de segundos desde la medianoche (UTC) de ese día.code language-none tracker.updatePlayhead(position)
note note NOTE Tenga en cuenta lo siguiente al llamar a tracker.updatePlayhead
API:- Cuando se utilizan marcadores de progreso, la duración del contenido es obligatoria y el cabezal de reproducción debe actualizarse como número de segundos desde el principio del elemento de medios, empezando por 0.
- Al utilizar los SDK de medios, debe llamar a la variable
tracker.updatePlayhead
API al menos una vez por segundo.
-
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
:code language-js tracker.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
:code language-js tracker.trackSessionEnd();
note important IMPORTANT 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 invocartrackComplete
antes quetrackSessionEnd
. Las demás llamadas de la APItrack*
se pasan por alto después detrackSessionEnd
(salvotrackSessionStart
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
:code language-js tracker.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 invoquetrackPause()
:- El usuario hace una pausa explícita en la aplicación.
- El reproductor se pone en estado de pausa.
- (Aplicaciones móviles): El usuario pone la aplicación en segundo plano, pero desea que la aplicación mantenga abierta la sesión.
- (Aplicaciones móviles): Se produce cualquier tipo de interrupción del sistema que provoca que una aplicación se ponga en segundo plano. Por ejemplo, si el usuario recibe una llamada o aparece una ventana emergente de otra aplicación, pero desea que la aplicación mantenga la sesión activa para que el usuario pueda reanudar el contenido desde donde se produjo la interrupción.
-
Identifique el evento del reproductor para la reproducción o reanudación después de la pausa e invoque
trackPlay
:code language-js tracker.trackPlay();
note tip TIP 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 APItrackPlay()
cuando se reanude la reproducción.
- Situaciones de seguimiento: Reproducción de VOD sin anuncios
- Reproductor de muestra incluido con el SDK de JavaScript para ver un ejemplo de seguimiento completo.