sendMediaEvent

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"
                }
            }
        }
    });
});

Début de la coupure publicitaire ad-break-start

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
                }
            }
        }
    });
});

Coupure publicitaire terminée ad-break-complete

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.

recommendation-more-help
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1