DocumentatieExperience PlatformHandleiding voor Web SDK

sendMediaEvent

Laatst bijgewerkt: 6 december 2024
  • Onderwerpen:

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 de getPlayerDetails 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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.pauseStart"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.error",
        mediaCollection: {
            errorDetails: {
                name: "network-error",
                source: "player"
            }
        }
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adBreakStart",
        mediaCollection: {
            advertisingPodDetails: {
                friendlyName: "Mid-roll",
                offset: 0,
                index: 1
            }
        }
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adBreakComplete"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
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"
                }
            ]
        }
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adComplete"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.adSkip"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
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"
                }
            ]
        }
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.chapterComplete"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.chapterSkip"
    }
});
Handmatige zitting het volgen
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 .

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.bufferStart"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.bitrateChange",
        mediaCollection: {
            qoeDataDetails: {
                framesPerSecond: 1,
                bitrate: 35000,
                droppedFrames: 30,
                timeToStart: 1364
            }
        }
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.statesUpdate",
        mediaCollection: {
            statesStart: [{
                    name: "mute"
                },
                {
                    name: "pictureInPicture"
                }
            ],
            statesEnd: [{
                name: "fullScreen"
            }]
        }
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.sessionEnd"
    }
});
Handmatige zitting het volgen
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.

Automatische zitting het volgen
alloy("sendMediaEvent", {
    playerId: "movie-test",
    xdm: {
        eventType: "media.sessionComplete"
    }
});
Handmatige zitting het volgen
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