Last update: Tue Dec 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
La commande sendMediaEvent fait partie du composant streamingMedia de Web SDK. Vous pouvez utiliser ce composant pour collecter des données relatives aux sessions multimédia sur votre site web. Voir la streamingMedia documentation pour savoir comment configurer ce composant.
Utilisez la commande sendMediaEvent pour effectuer le suivi des lectures de médias, des pauses, des terminaisons, des mises à jour de l’état du lecteur et d’autres événements associés.
Web SDK peut gérer les événements multimédia en fonction du type de suivi de session multimédia :
- Gestion des événements pour les sessions suivies automatiquement. Dans ce mode, vous n’avez pas besoin de transmettre la
sessionID à l’événement multimédia ou à la valeur du curseur de lecture. Le Web SDK s’en occupera pour vous, en fonction de l’identifiant de lecteur fourni et de la fonction de rappel getPlayerDetails fournie lors du démarrage de la session multimédia.
- Gestion des événements pour les sessions suivies manuellement. Dans ce mode, vous devez transmettre le
sessionID à l’événement multimédia, ainsi que la valeur du curseur de lecture (valeur entière). Si nécessaire, vous pouvez également transmettre les détails des données Qualité d’expérience .
Gérer les événements multimédia par type handle-by-type
Sélectionnez les onglets ci-dessous pour afficher des exemples de gestion des types d’événements pour chaque type d’événement et méthode de suivi de session (automatique ou manuelle).
Play play
Le type d’événement media.play est utilisé pour effectuer le suivi du démarrage de la lecture multimédia. Cet événement doit être envoyé lorsque le lecteur passe d’un autre état à l’état « lecture ». Parmi les autres états à partir desquels le lecteur passe à la « lecture », citons la « mise en mémoire tampon », la reprise après une « pause », la récupération à la suite d’une erreur ou la lecture automatique.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.play"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.play",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Pause pause
Le type d’événement media.pauseStart est utilisé pour effectuer le suivi lorsqu’une lecture multimédia est suspendue. Cet événement doit être envoyé lorsque l’utilisateur appuie sur Pause. Il n’existe aucun type d’événement de reprise. Une reprise est déduite lorsque vous envoyez un événement media.play après une media.pauseStart.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.pauseStart"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.pauseStart",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Erreur error
Le type d’événement media.error est utilisé pour effectuer le suivi lorsqu’une erreur se produit lors de la lecture du média. Cet événement doit être envoyé lorsqu’une erreur se produit.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.error",
mediaCollection: {
errorDetails: {
name: "network-error",
source: "player"
}
}
}
});
|
Suivi manuel des sessions
| 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"
}
}
}
});
});
|
Le type d’événement media.adBreakStart est utilisé pour effectuer le suivi du démarrage d’une coupure publicitaire. Cet événement doit être envoyé au début d’une coupure publicitaire.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adBreakStart",
mediaCollection: {
advertisingPodDetails: {
friendlyName: "Mid-roll",
offset: 0,
index: 1
}
}
}
});
|
Suivi manuel des sessions
| 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
}
}
}
});
});
|
Le type d’événement media.adBreakComplete est utilisé pour effectuer le suivi à la fin d’une coupure publicitaire. Cet événement doit être envoyé à la fin d’une coupure publicitaire.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adBreakComplete"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.adBreakComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Démarrage de la publicité ad-start
Le type d’événement media.adStart est utilisé pour effectuer le suivi du démarrage d’une publicité. Cet événement doit être envoyé au démarrage d’une publicité.
Suivi automatique des sessions
| 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"
}
]
}
}
});
|
Suivi manuel des sessions
| 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"
}]
}
}
});
});
|
Publicité terminée ad-complete
Le type d’événement media.adComplete permet d’effectuer le suivi de la fin d’une publicité. Cet événement doit être envoyé à la fin d’une publicité.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adComplete"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.adComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Annonce publicitaire ignorée ad-skip
Le type d’événement media.adSkip est utilisé pour effectuer le suivi lorsqu’une publicité est ignorée. Cet événement doit être envoyé lorsqu’une publicité est ignorée.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adSkip"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.adSkip",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Début du chapitre chapter-start
Le type d’événement media.chapterStart est utilisé pour effectuer le suivi lorsqu’un chapitre commence. Cet événement doit être envoyé lorsqu’un chapitre commence.
Suivi automatique des sessions
| 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"
}
]
}
}
});
|
Suivi manuel des sessions
| 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"
}
]
}
}
});
});
|
Chapitre terminé chapter-complete
Le type d’événement media.chapterComplete est utilisé pour effectuer le suivi de la fin d’un chapitre. Cet événement doit être envoyé lorsqu’un chapitre est terminé.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.chapterComplete"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.chapterComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Saut de chapitre chapter-skip
Le type d’événement media.chapterSkip est utilisé pour effectuer le suivi lorsqu’un chapitre est ignoré. Cet événement doit être envoyé lorsqu’un chapitre est ignoré.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.chapterSkip"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.chapterSkip",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Début de la mémoire tampon buffer-start
Le type d’événement media.bufferStart est utilisé pour effectuer le suivi du début de la mise en mémoire tampon. Cet événement doit être envoyé au début de la mise en mémoire tampon. Il n’existe aucun type d’événement bufferResume. Une bufferResume est déduite lorsque vous envoyez un événement de lecture après bufferStart.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.bufferStart"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.bufferStart",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Changement de débit bitrate-change
Le type d’événement media.bitrateChange est utilisé pour suivre le moment où le débit change. Cet événement doit être envoyé lorsque le débit change.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.bitrateChange",
mediaCollection: {
qoeDataDetails: {
framesPerSecond: 1,
bitrate: 35000,
droppedFrames: 30,
timeToStart: 1364
}
}
}
});
|
Suivi manuel des sessions
| 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
}
}
}
});
});
|
Mises à jour des états state-updates
Le type d’événement media.statesUpdate est utilisé pour effectuer le suivi des modifications de l’état du lecteur. Cet événement doit être envoyé lorsque l’état du lecteur change.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.statesUpdate",
mediaCollection: {
statesStart: [{
name: "mute"
},
{
name: "pictureInPicture"
}
],
statesEnd: [{
name: "fullScreen"
}]
}
}
});
|
Suivi manuel des sessions
| 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 la session session-end
Le type d’événement media.sessionEnd est utilisé pour informer le serveur principal Media Analytics de fermer immédiatement la session lorsque l’utilisateur a abandonné l’affichage du contenu et qu’il est peu probable qu’il revienne.
Si vous n’envoyez pas d’événement sessionEnd, une session abandonnée expire après qu’aucun événement n’a été reçu pendant 10 minutes ou lorsqu’aucun mouvement du curseur de lecture ne se produit pendant 30 minutes. La session est automatiquement supprimée.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.sessionEnd"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.sessionEnd",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Session terminée session-complete
Le type d’événement media.sessionComplete est utilisé pour effectuer le suivi lorsqu’une session multimédia se termine. Cet événement doit être envoyé lorsque la fin du contenu principal est atteinte.
Suivi automatique des sessions
| code language-javascript |
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.sessionComplete"
}
});
|
Suivi manuel des sessions
| code language-javascript |
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.sessionComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
|
Envoi d’un événement multimédia à l’aide de l’extension de balise Web SDK
L’extension de balise Web SDK équivalente à cette commande est l’action Send media event.
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1