sendMediaEvent
Gemaakt voor:
- Ontwikkelaar
De opdracht sendMediaEvent
maakt deel uit van de Web SDK streamingMedia
-component. Met deze component kunt u gegevens verzamelen die betrekking hebben op mediasessies op uw website. Zie streamingMedia
documentatieleren hoe te om deze component te vormen.
Gebruik de opdracht sendMediaEvent
om het afspelen van media, pauzes, voltooiing, updates van de spelerstatus en andere gerelateerde gebeurtenissen bij te houden.
De SDK van het Web kan media gebeurtenissen behandelen die op het type van media zitting het volgen worden gebaseerd:
- Gebeurtenis behandeling voor automatisch-gevolgde zittingen. In deze modus hoeft u de waarde
sessionID
niet door te geven aan de media-gebeurtenis of aan de afspeelkop. De SDK van het Web zal dit voor u behandelen, die op speleridentiteitskaart wordt gebaseerd die en degetPlayerDetails
callback functie wordt verstrekt wanneer het beginnen van de media zitting wordt verstrekt. - Gebeurtenis behandeling voor manueel-gevolgde zittingen. In deze modus moet u de waarde
sessionID
aan de media-gebeurtenis doorgeven, samen met de waarde van de afspeelkop (geheel getal). Indien nodig kunt u ook de gegevens over de kwaliteit van de ervaring doorgeven.
Media-gebeurtenissen op type afhandelen
Selecteer de tabbladen hieronder om voorbeelden weer te geven van gebeurtenistype afhandeling voor elk gebeurtenistype en elke methode voor het bijhouden van sessies (automatisch of handmatig).
Afspelen
Het gebeurtenistype media.play
wordt gebruikt om te volgen wanneer het afspelen van media begint. Deze gebeurtenis moet worden verzonden wanneer de afspeelstatus van de speler verandert in een andere status. Andere toestanden waarvan de speler overgaat op 'afspelen' zijn 'buffering', het hervatten van 'gepauzeerd', het herstellen van een fout of het automatisch afspelen van de speler.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.play"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.play",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Pauzeren
Het gebeurtenistype media.pauseStart
wordt gebruikt om bij te houden wanneer het afspelen van media is gepauzeerd. Deze gebeurtenis moet worden verzonden wanneer de gebruiker op Pause drukt. Er is geen type hervattingsgebeurtenis. Er wordt een resume gegenereerd wanneer u een media.play
-gebeurtenis na een media.pauseStart
verzendt.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.pauseStart"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.pauseStart",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Fout
Het gebeurtenistype media.error
wordt gebruikt om bij te houden wanneer een fout optreedt tijdens het afspelen van media. Deze gebeurtenis moet worden verzonden wanneer een fout optreedt.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.error",
mediaCollection: {
errorDetails: {
name: "network-error",
source: "player"
}
}
}
});
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"
}
}
}
});
});
Begin van einde toevoegen
Het gebeurtenistype media.adBreakStart
wordt gebruikt om te volgen wanneer een advertentie-einde begint. Deze gebeurtenis moet worden verzonden wanneer een advertentie-einde begint.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adBreakStart",
mediaCollection: {
advertisingPodDetails: {
friendlyName: "Mid-roll",
offset: 0,
index: 1
}
}
}
});
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
}
}
}
});
});
Einde van advertentie voltooid
Het gebeurtenistype media.adBreakComplete
wordt gebruikt om bij te houden wanneer een advertentie-einde is voltooid. Deze gebeurtenis moet worden verzonden wanneer een advertentie-einde is voltooid.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adBreakComplete"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.adBreakComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Begin advertentie
Het gebeurtenistype media.adStart
wordt gebruikt om te volgen wanneer een advertentie begint. Deze gebeurtenis moet worden verzonden wanneer een advertentie wordt gestart.
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"
}
]
}
}
});
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"
}]
}
}
});
});
Toevoegen voltooid
Het gebeurtenistype media.adComplete
wordt gebruikt om te volgen wanneer een advertentie is voltooid. Deze gebeurtenis moet worden verzonden wanneer een advertentie is voltooid.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adComplete"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.adComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Overslaan van advertentie
Het gebeurtenistype media.adSkip
wordt gebruikt om te volgen wanneer een advertentie wordt overgeslagen. Deze gebeurtenis moet worden verzonden wanneer een advertentie wordt overgeslagen.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.adSkip"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.adSkip",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Begin hoofdstuk
Het gebeurtenistype media.chapterStart
wordt gebruikt om te volgen wanneer een hoofdstuk begint. Deze gebeurtenis moet worden verzonden wanneer een hoofdstuk begint.
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"
}
]
}
}
});
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"
}
]
}
}
});
});
Hoofdstuk voltooid
Het gebeurtenistype media.chapterComplete
wordt gebruikt om te volgen wanneer een hoofdstuk voltooit. Deze gebeurtenis moet worden verzonden wanneer een hoofdstuk is voltooid.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.chapterComplete"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.chapterComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Hoofdstukoverslaan
Het gebeurtenistype media.chapterSkip
wordt gebruikt om bij te houden wanneer een hoofdstuk wordt overgeslagen. Deze gebeurtenis moet worden verzonden wanneer een hoofdstuk wordt overgeslagen.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.chapterSkip"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.chapterSkip",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Begin buffer
Het gebeurtenistype media.bufferStart
wordt gebruikt om bij te houden wanneer het bufferen begint. Deze gebeurtenis moet worden verzonden wanneer het bufferen begint. Er is geen gebeurtenistype bufferResume
. Een bufferResume
wordt afgeleid wanneer u een afspeelgebeurtenis verzendt na bufferStart
.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.bufferStart"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.bufferStart",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Wijziging van bitsnelheid
Het gebeurtenistype media.bitrateChange
wordt gebruikt om te volgen wanneer de bitsnelheid verandert. Deze gebeurtenis moet worden verzonden wanneer de bitsnelheid verandert.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.bitrateChange",
mediaCollection: {
qoeDataDetails: {
framesPerSecond: 1,
bitrate: 35000,
droppedFrames: 30,
timeToStart: 1364
}
}
}
});
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
}
}
}
});
});
Statusupdates
Het gebeurtenistype media.statesUpdate
wordt gebruikt om te volgen wanneer de spelerstatus verandert. Deze gebeurtenis moet worden verzonden wanneer de status van de speler verandert.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.statesUpdate",
mediaCollection: {
statesStart: [{
name: "mute"
},
{
name: "pictureInPicture"
}
],
statesEnd: [{
name: "fullScreen"
}]
}
}
});
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"
}]
}
}
});
});
Einde sessie
Het gebeurtenistype media.sessionEnd
wordt gebruikt om de achtergrond van Media Analytics op de hoogte te brengen om de sessie onmiddellijk te sluiten wanneer de gebruiker de weergave van de inhoud heeft beƫindigd en deze waarschijnlijk niet meer zal terugkeren.
Als u geen sessionEnd
-gebeurtenis verzendt, wordt een verlaten sessie beƫindigd nadat gedurende 10 minuten geen gebeurtenissen zijn ontvangen of wanneer gedurende 30 minuten geen beweging van de afspeelkop plaatsvindt. De sessie wordt automatisch verwijderd.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.sessionEnd"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.sessionEnd",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});
Sessie voltooid
Het gebeurtenistype media.sessionComplete
wordt gebruikt om te volgen wanneer een mediasessie is voltooid. Deze gebeurtenis moet worden verzonden wanneer het einde van de hoofdinhoud is bereikt.
alloy("sendMediaEvent", {
playerId: "movie-test",
xdm: {
eventType: "media.sessionComplete"
}
});
sessionPromise.then(sessionID => {
alloy("sendMediaEvent", {
xdm: {
eventType: "media.sessionComplete",
mediaCollection: {
playhead: parseInt(document.getElementById("movie-test").currentTime, 10),
sessionID
}
}
});
});