Show Menu
TOPICS×

Línea de tiempo 1: Ver el contenido hasta el final

VOD, anuncios pre-roll, pausar, almacenar en búfer, ver contenido hasta el final

Los siguientes diagramas ilustran la línea de tiempo del cursor de reproducción y la línea de tiempo correspondiente de las acciones de un usuario. A continuación se presentan los detalles de cada acción y sus solicitudes correspondientes.

Detalles de la acción

Acción 1 - Iniciar sesión

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
El botón Reproducción automática o Reproducir se ha presionado, el vídeo empieza a cargarse.
0
0
/api/v1/sessions
Detalles de implementación
Esta llamada indica
la intención del usuario de reproducir
un vídeo.
Devuelve un ID de sesión (
{sid}
) al cliente que se utiliza para identificar todas las llamadas de seguimiento subsiguientes dentro de la sesión. El estado del reproductor no es "reproduciendo", sino "comenzando".
Los parámetros de sesión obligatorios deben incluirse en el mapa de
params
en la solicitud.
En el servidor, esta llamada genera una llamada de inicio a Adobe Analytics.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:sessionStart, params: { "media.playerName": "sample-html5-api-player", "analytics.trackingServer": "[ _YOUR_TS_ ]", "analytics.reportSuite": "[ _YOUR_RSID_ ]", "analytics.visitorId": "[ _YOUR_VISITOR_ID_ ]", "media.contentType": "VOD", "media.length": 60.3333333333333, "media.id": "VA API Sample Player", "visitor.marketingCloudOrgId": "[YOUR_MCID]", "media.name": "ClickMe", "media.channel": "sample-channel", "media.sdkVersion": "va-api-0.0.0", "analytics.enableSSL": false } }

Acción 2 - Inicio del temporizador de ping

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación inicia el temporizador del evento de ping
0
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Inicie el temporizador de ping de su aplicación. El primer evento de ping debe activarse en el primer segundo si hay anuncios previos a la emisión y en los 10 primeros segundos en caso contrario.

Acción 3 - Inicio de la pausa publicitaria

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Seguimiento del comienzo de la pausa publicitaria pre-roll
0
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Los anuncios solo se pueden rastrear durante una pausa publicitaria.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.podIndex": 0, "media.ad.podSecond": 0 } }

Acción 4 - Inicio del anuncio

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Seguimiento del comienzo del primer anuncio pre-roll
0
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Comience a rastrear el primer anuncio pre-roll, que dura 15 segundos. Incluir metadatos personalizados con
adStart
.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: &lt;timestamp&gt; }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.name": "Ad 1", "media.ad.id": "001", "media.ad.length": 15, "media.ad.podPosition": 1, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "1", "media.ad.creativeId": "42", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement" }, customMetadata: { "myCustomData1": "CustomData1", "myCustomData2": "CustomData2" } }

Acción 5 - Agrupaciones de anuncios

Acción 5.1 - Anuncio ping 1

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
1
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Mande un ping al servidor cada segundo mientras se encuentra dentro de un anuncio.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Acción 5.2 - Anuncio ping 2

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
2
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Mande un ping al servidor cada segundo mientras se encuentra dentro de un anuncio.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Acción 5.3 - Anuncio ping 3

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
3
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Mande un ping al servidor cada segundo mientras se encuentra dentro de un anuncio.
Los anuncios posteriores de la cronología omitirán la visualización de la serie de pings de un segundo para que sean más breves...
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Acción 6 - Finalización del anuncio

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Se ha completado el seguimiento del primer anuncio pre-roll
15
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Rastrear el final del primer anuncio pre-roll.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adComplete }

Acción 7 - Inicio del anuncio

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Seguimiento del comienzo del segundo anuncio pre-roll
15
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Realice un seguimiento del inicio del segundo anuncio pre-roll, que dura 7 segundos.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.name": "Ad 2", "media.ad.id": "002", "media.ad.length": 7, "media.ad.podPosition": 1, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "2", "media.ad.creativeId": "44", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement2" }, }

Acción 8 - Agrupaciones de anuncios

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
20
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada segundo.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Acción 9 - Finalización del anuncio

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Se ha completado el seguimiento del segundo anuncio pre-roll
22
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Rastrear el final del segundo anuncio pre-roll.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adComplete }

Acción 10 - Se completó la pausa publicitaria

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Rastrear la pausa publicitaria pre-roll
22
0
/api/v1/sessions/{sid}/events
Detalles de implementación
La pausa publicitaria ha finalizado. Durante la pausa publicitaria, el estado de reproducción será “reproduciendo”.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakComplete }

Acción 11 - Reproducir contenido

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Rastrear el evento de Reproducción
22
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Tras el evento
adBreakComplete
, ponga el reproductor en el estado "reproduciendo" utilizando el evento
play
.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:play }

Acción 12 - Ping

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
30
8
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada 10 segundos.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 8, ts: <timestamp> }, eventType:ping }

Acción 13 - Inicio del búfer

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Se produce el evento de Inicio del almacenamiento en búfer.
33
11
/api/v1/sessions/{sid}/events
Detalles de implementación
Rastree el movimiento del reproductor al estado "almacenamiento en búfer".
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 11, ts: <timestamp> }, eventType:bufferStart }

Acción 14 - Fin del búfer

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
El almacenamiento en búfer finalizó, la aplicación hace un seguimiento de la reanudación del contenido.
36
11
/api/v1/sessions/{sid}/events
Detalles de implementación
El almacenamiento en búfer finaliza después de 3 segundos, por lo que el reproductor vuelve al estado "reproduciendo". Debe enviar otro evento de seguimiento de reproducción cuando termine el almacenamiento en búfer.
La llamada
play
después de
bufferStart
infiere una llamada “bufferEnd” al back end
, por lo que no es necesario un evento
bufferEnd
.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 11, ts: <timestamp> }, eventType:play }

Acción 15 - Ping

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
40
15
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada 10 segundos.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 15, ts: <timestamp> }, eventType:ping }

Acción 16 - Inicio de la pausa publicitaria

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Seguimiento del comienzo del anuncio mid-roll
46
21
/api/v1/sessions/{sid}/events
Detalles de implementación
Anuncio mid-roll de 8 segundos: enviar
adBreakStart
.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adBreakStart, params: { "media.ad.podFriendlyName": "ad_pod2", "media.ad.podIndex": 1, "media.ad.podSecond": 21 } }

Acción 17 - Inicio del anuncio

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Seguimiento del tercer anuncio mid-roll
46
21
/api/v1/sessions/{sid}/events
Detalles de implementación
Seguimiento del anuncio mid-roll.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod2", "media.ad.name": "Ad 3", "media.ad.id": "003", "media.ad.length": 8, "media.ad.podPosition": 2, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "7", "media.ad.creativeId": "40", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement2" }, }

Acción 18 - Ping de publicidad

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
50
21
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada 10 segundos.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:ping }

Acción 19 - Finalización del anuncio

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Se ha completado el seguimiento del primer anuncio mid-roll
54
21
/api/v1/sessions/{sid}/events
Detalles de implementación
El anuncio mid-roll ha finalizado.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adComplete }

Acción 20 - Se completó la pausa publicitaria

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
Seguimiento de la pausa publicitaria mid-roll completado
54
21
/api/v1/sessions/{sid}/events
Detalles de implementación
Se ha completado la pausa publicitaria.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adBreakComplete }

Acción 21 - Ping

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
60
27
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada 10 segundos.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 27, ts: <timestamp> }, eventType:ping }

Acción 22 - Pausa

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
El usuario ha hecho clic en Pausa
64
31
/api/v1/sessions/{sid}/events
Detalles de implementación
La acción del usuario cambia el estado de reproducción a "en pausa".
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:pauseStart }

Acción 23 - Ping

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
70
31
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada 10 segundos. El reproductor sigue en estado "almacenamiento en búfer"; el usuario se queda en los 20 primeros segundos de contenido. Trabajando...
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:ping }

Acción 24 - Reproducir

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
El usuario ha presionado Reproducir para reanudar el contenido principal
74
31
/api/v1/sessions/{sid}/events
Detalles de implementación
Cambie el estado de reproducción a "reproduciendo".
La llamada
play
después de
pauseStart
ya infiere una llamada “continuar” al final
, por lo que no hay necesidad de un evento
resume
.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:play }

Acción 25 - Ping

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
La aplicación envía eventos de ping
80
37
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada 10 segundos.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 37, ts: <timestamp> }, eventType:ping }

Acción 26 - Sesión completa

Acción
Línea de tiempo de acción (segundos)
Posición del cabezal de reproducción (en segundos)
Solicitud del cliente
El usuario termina de ver el contenido hasta el final.
88
45
/api/v1/sessions/{sid}/events
Detalles de implementación
Envíe
sessionComplete
al servidor para indicar que el usuario ha terminado de ver todo el contenido.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 45, ts: <timestamp> }, eventType:sessionComplete }
¿No hay eventos de búsqueda? -
No hay compatibilidad explícita en la API de Media Collection para eventos
seekStart
o
seekComplete
. Esto se debe a que algunos reproductores generan un número muy grande de eventos cuando el usuario final arrastra el cabezal de reproducción, y varios cientos de usuarios podrían atascar fácilmente el ancho de banda de red de un servidor. Adobe busca la compatibilidad explícita con los eventos de llamada con el cabezal de reproducción, computando la duración del latido en función de la marca de tiempo del dispositivo en lugar de la posición del cabezal.