Show Menu
TOPICS×

Línea de tiempo 3: Capítulos

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

Los siguientes diagramas ilustran la cronología del cabezal de reproducción y la cronología 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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Se presiona el botón de reproducción o reproducción automática, y el vídeo se empieza a cargar.
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: Se inicia el temporizador de ping

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
La aplicación inicia el temporizador de eventos de ping
0
0
Detalles de implementación
Inicie el temporizador de ping. 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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear inicio de pausa del anuncio previo a la emisión
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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear inicio del anuncio previo a la emisión n.º 1
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: <timestamp> }, 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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
La aplicación envía eventos de ping
10
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada segundo. (Los pings de anuncios posteriores no se muestran en interés de la brevedad).
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Acción 6 - Finalización del anuncio

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear finalización del anuncio previo a la emisión n.º 1
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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear inicio del anuncio previo a la emisión n.º 2
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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
La aplicación envía eventos de ping
16
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada segundo. (Los pings de anuncios posteriores no se muestran en interés de la brevedad).
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Acción 9 - Finalización del anuncio

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear finalización del anuncio previo a la emisión n.º 2
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
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear finalización de pausa del anuncio previo a la emisión
22
0
/api/v1/sessions/{sid}/events
Detalles de implementación
Terminó la pausa publicitaria. Durante la pausa publicitaria, el estado de reproducción ha permanecido en "jugando".
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakComplete }

Acción 11 - Reproducir contenido

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de 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 - Inicio del capítulo

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear evento de inicio de capítulos
23
1
/api/v1/sessions/{sid}/events
Detalles de implementación
Tras el evento Reproducir, realice un seguimiento del principio del primer capítulo.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:chapterStart, params: { "media.chapter.index": 1, "media.chapter.offset": 0, "media.chapter.length": 20, "media.chapter.friendlyName": "Chapter Uno" }, }

Acción 13 - Ping

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de 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 14 - Inicio del búfer

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

Acción 15 - Fin del búfer (reproducción)

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
El almacenamiento en búfer ha finalizado, la aplicación rastrea 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 16 - Ping

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de 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 17 - Fin del capítulo

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
La aplicación rastrea el fin del capítulo
45
20
/api/v1/sessions/{sid}/events
Detalles de implementación
El primer capítulo termina justo antes de la segunda pausa publicitaria.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 20, ts: <timestamp> }, eventType:chapterComplete }

Acción 18 - Inicio de la pausa publicitaria

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear inicio de pausa del anuncio durante la emisión
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 19 - Inicio del anuncio

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear inicio del anuncio durante la emisión n.º 3
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 20 - Anuncios

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
La aplicación envía eventos de ping
47
21
/api/v1/sessions/{sid}/events
Detalles de implementación
Mandar un ping al servidor cada segundo. (Los pings de anuncios posteriores no se muestran en interés de la brevedad).
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:ping }

Acción 21 - Finalización del anuncio

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear finalización del anuncio durante la emisión n.º 1
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 22 - Se completó la pausa publicitaria

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear finalización de pausa del anuncio durante la emisión
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 23 - Inicio del capítulo

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
Rastrear inicio del capítulo 2
55
22
/api/v1/sessions/{sid}/events
Detalles de implementación
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 22, ts: <timestamp> }, eventType:chapterStart, params: { "media.chapter.index": 2, "media.chapter.offset": 22, "media.chapter.length": 22, "media.chapter.friendlyName": "Chapter Dos" }, }

Acción 24 - Ping

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de 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 25 - Pausa

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
El usuario pulsó 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 26 - Ping

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de 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 de "almacenamiento en búfer"; el usuario se queda atascado 20 segundos después de la reproducción del contenido. Eliminando...
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:ping }

Acción 27 - Reproducir contenido

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
El usuario pulsó 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 28 - Ping

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de 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 29 - Fin del capítulo

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
El capítulo 2 finalizó
87
44
/api/v1/sessions/{sid}/events
Detalles de implementación
Rastrear el final del segundo y último capítulo.
Cuerpo de la solicitud de muestra
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:chapterComplete }

Acción 30 - Sesión completa

Acción
Cronología de acción (segundos)
Posición del cabezal de reproducción (segundos)
Solicitud de cliente
El usuario puede 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 una gran cantidad de eventos de este tipo cuando el usuario final está borrando, y cientos de usuarios podrían fácilmente bloquear el ancho de banda de la red de un servidor. Adobe trabaja con la compatibilidad explícita con eventos de búsqueda calculando la duración de latidos basada en la marca de tiempo del dispositivo, en lugar de la posición del cabezal de reproducción.