sendMediaEvent

El comando sendMediaEvent forma parte del componente streamingMedia del SDK web. Puede utilizar este componente para recopilar datos relacionados con las sesiones de contenido en el sitio web. Consulte la streamingMedia documentación para obtener información sobre cómo configurar este componente.

Utilice el comando sendMediaEvent para rastrear reproducciones de contenido, pausas, finalizaciones, actualizaciones de estado del reproductor y otros eventos relacionados.

El SDK web puede gestionar eventos de medios en función del tipo de seguimiento de sesión de medios:

  • Control de eventos para sesiones con seguimiento automático. En este modo no necesita pasar sessionID al evento de medios o al valor del cabezal de reproducción. El SDK web se encargará de esto, según el ID del reproductor proporcionado y la función de devolución de llamada getPlayerDetails proporcionada al iniciar la sesión de contenido.
  • Control de eventos para sesiones con seguimiento manual. En este modo necesita pasar sessionID al evento multimedia, junto con el valor del cabezal de reproducción (valor entero). También puede pasar los detalles de calidad de los datos de experiencia, si es necesario.

Administrar eventos de medios por tipo handle-by-type

Seleccione las pestañas siguientes para ver ejemplos de control de tipo de evento para cada tipo de evento y método de seguimiento de sesión (automático o manual).

Reproducir play

El tipo de evento media.play se usa para rastrear cuándo comienza la reproducción de contenido. Este evento debe enviarse cuando el reproductor cambia de estado a "reproduciendo". Otros estados desde los que el reproductor pasa a "reproduciendo" incluyen "almacenamiento en búfer", reanudación de "pausa" por parte del usuario, recuperación de un error o reproducción automática.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.play"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.play",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Pause pause

El tipo de evento media.pauseStart se usa para hacer un seguimiento de cuándo se pone en pausa una reproducción de contenido. Este evento debe enviarse cuando el usuario presione Pausa. No hay ningún tipo de evento de reanudación. Se infiere una reanudación cuando se envía un evento media.play después de media.pauseStart.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.pauseStart"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.pauseStart",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Error error

El tipo de evento media.error se usa para realizar un seguimiento de cuándo se produce un error durante la reproducción de contenido. Este evento debe enviarse cuando se produce un error.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.error",
        mediaCollection: {
            errorDetails: {
                name: "network-error",
                source: "player"
            }
        }
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.error",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID,
                errorDetails: {
                    name: "network-error",
                    source: "player"
                }
            }
        }
    });
});

Inicio de pausa publicitaria ad-break-start

El tipo de evento media.adBreakStart se usa para hacer un seguimiento de cuándo comienza una pausa publicitaria. Este evento debe enviarse cuando se inicie una pausa publicitaria.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adBreakStart",
        mediaCollection: {
            advertisingPodDetails: {
                friendlyName: "Mid-roll",
                offset: 0,
                index: 1
            }
        }
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.adBreakStart",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID,
                advertisingPodDetails: {
                    friendlyName: "Mid-roll",
                    offset: 0,
                    index: 1
                }
            }
        }
    });
});

Pausa publicitaria completa ad-break-complete

El tipo de evento media.adBreakComplete se usa para hacer un seguimiento de cuándo finaliza una pausa publicitaria. Este evento debe enviarse cuando se complete una pausa publicitaria.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adBreakComplete"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.adBreakComplete",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Inicio del anuncio ad-start

El tipo de evento media.adStart se usa para hacer un seguimiento del inicio de un anuncio. Este evento debe enviarse cuando se inicie un anuncio.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adStart",
        mediaCollection: {
            advertisingDetails: {
                friendlyName: "Ad 1",
                name: "/uri-reference/001",
                length: 10,
                advertiser: "Adobe Marketing",
                campaignID: "Adobe Analytics",
                creativeID: "creativeID",
                creativeURL: "https://creativeurl.com",
                placementID: "placementID",
                siteID: "siteID",
                podPosition: 11,
                playerName: "HTML5 player"
            },
            customMetadata: [{
                    name: "myCustomValue3",
                    value: "c3"
                },
                {
                    name: "myCustomValue2",
                    value: "c2"
                },
                {
                    name: "myCustomValue1",
                    value: "c1"
                }
            ]
        }
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
        eventType: "media.adStart",
        mediaCollection: {
            playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
            sessionID,
            advertisingDetails: {
              friendlyName: "Ad 1",
              name: "/uri-reference/001",
              length: 10,
              advertiser: "Adobe Marketing",
              campaignID: "Adobe Analytics",
              creativeID: "creativeID",
              creativeURL: "https://creativeurl.com",
              placementID: "placementID",
              siteID: "siteID",
              podPosition: 11,
              playerName: "HTML5 player"
            },
            customMetadata: [
              {
                name: "myCustomValue3",
                value: "c3"
              },
              {
                name: "myCustomValue2",
                value: "c2"
              },
              {
                name: "myCustomValue1",
                value: "c1"
              }]
        }
        }
    });
});

Anuncio completado ad-complete

El tipo de evento media.adComplete se usa para hacer un seguimiento del momento en el que finaliza un anuncio. Este evento debe enviarse cuando se complete un anuncio.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adComplete"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.adComplete",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Omisión de publicidad ad-skip

El tipo de evento media.adSkip se usa para rastrear cuándo se omite un anuncio. Este evento debe enviarse cuando se omite un anuncio.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adSkip"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.adSkip",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Inicio del capítulo chapter-start

El tipo de evento media.chapterStart se usa para hacer un seguimiento de cuándo comienza un capítulo. Este evento debe enviarse cuando comience un capítulo.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.chapterStart",
        mediaCollection: {
            chapterDetails: {
                friendlyName: "Chapter 1",
                position: 1,
                length: 10,
                index: 1,
                offset: 0
            },
            customMetadata: [{
                    name: "myCustomValue3",
                    value: "c3"
                },
                {
                    name: "myCustomValue2",
                    value: "c2"
                },
                {
                    name: "myCustomValue1",
                    value: "c1"
                }
            ]
        }
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.chapterStart",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID,
                chapterDetails: {
                    friendlyName: "Chapter 1",
                    position: 1,
                    length: 10,
                    index: 1,
                    offset: 0
                },
                customMetadata: [{
                        name: "myCustomValue3",
                        value: "c3"
                    },
                    {
                        name: "myCustomValue2",
                        value: "c2"
                    },
                    {
                        name: "myCustomValue1",
                        value: "c1"
                    }
                ]
            }
        }
    });
});

Capítulo completado chapter-complete

El tipo de evento media.chapterComplete se usa para realizar un seguimiento del momento en que finaliza un capítulo. Este evento debe enviarse cuando se complete un capítulo.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.chapterComplete"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.chapterComplete",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Omisión de capítulo chapter-skip

El tipo de evento media.chapterSkip se usa para hacer un seguimiento de cuándo se omite un capítulo. Este evento debe enviarse cuando se omita un capítulo.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.chapterSkip"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.chapterSkip",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Inicio del búfer buffer-start

El tipo de evento media.bufferStart se usa para hacer un seguimiento del inicio del almacenamiento en búfer. Este evento debe enviarse cuando se inicie el almacenamiento en búfer. No hay ningún tipo de evento bufferResume. Se infiere un bufferResume al enviar un evento de reproducción después de bufferStart.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.bufferStart"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.bufferStart",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Cambio de velocidad de bits bitrate-change

El tipo de evento media.bitrateChange se usa para realizar un seguimiento de cuándo cambia la velocidad de bits. Este evento debe enviarse cuando cambie la velocidad de bits.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.bitrateChange",
        mediaCollection: {
            qoeDataDetails: {
                framesPerSecond: 1,
                bitrate: 35000,
                droppedFrames: 30,
                timeToStart: 1364
            }
        }
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.bitrateChange",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID,
                qoeDataDetails: {
                    bitrate: 35000,
                    droppedFrames: 30,
                    timeToStart: 1364
                }
            }
        }
    });
});

Actualizaciones de estado state-updates

El tipo de evento media.statesUpdate se usa para rastrear cuándo cambia el estado del reproductor. Este evento debe enviarse cuando cambie el estado del reproductor.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.statesUpdate",
        mediaCollection: {
            statesStart: [{
                    name: "mute"
                },
                {
                    name: "pictureInPicture"
                }
            ],
            statesEnd: [{
                name: "fullScreen"
            }]
        }
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.stateUpdate",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID,
                statesStart: [{
                        name: "mute"
                    },
                    {
                        name: "pictureInPicture"
                    }
                ],
                statesEnd: [{
                    name: "fullScreen"
                }]
            }
        }
    });
});

Fin de sesión session-end

El tipo de evento media.sessionEnd se usa para notificar al backend de Media Analytics que cierre inmediatamente la sesión cuando el usuario ha abandonado el contenido y es poco probable que vuelva.

Si no envía un evento sessionEnd, se agotará el tiempo de espera de la sesión abandonada cuando no se reciba ningún evento durante 10 minutos o cuando no se produzca ningún movimiento del cabezal de reproducción durante 30 minutos. La sesión se elimina automáticamente.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.sessionEnd"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.sessionEnd",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});

Sesión completa session-complete

El tipo de evento media.sessionComplete se usa para realizar un seguimiento de cuándo finaliza una sesión multimedia. Este evento debe enviarse cuando se llegue al final del contenido principal.

Seguimiento automático de sesiones
code language-javascript
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.sessionComplete"
    }
});
Seguimiento manual de sesión
code language-javascript
sessionPromise.then(sessionID => {
    alloy("sendMediaEvent", {
        xdm: {
            eventType: "media.sessionComplete",
            mediaCollection: {
                playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
                sessionID
            }
        }
    });
});
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636