createMediaSession

Last update: 2024-06-01
  • Topics:
  • Web SDK
    View more on this topic
  • Created for:
  • Developer

The createMediaSession command is part of the Web SDK streamingMedia component. You can use this component to collect data related to media sessions on your website. See the streamingMedia documentation to learn how to configure this component.

The collected data can include information about media playbacks, pauses, completions, and other related events. Once collected, you can send this data to Adobe Analytics for Streaming Media, to aggregate metrics. This feature provides a comprehensive solution for tracking and understanding media consumption behavior on your website.

You can create media sessions in Web SDK in two ways:

Create an automatically-tracked media session

To start tracking a media session automatically, call the createMediaSession method with the options described below:

    alloy("createMediaSession", {
        playerId: "movie-test",
        getPlayerDetails: () => {
            return {
                playhead: document.getElementById("movie-test").currentTime,
                qoeDataDetails: {
                    bitrate: 1000,
                    startupTime: 1000,
                    fps: 30,
                    droppedFrames: 10
                }
            };
        },
        xdm: {
            eventType: "media.sessionStart",
            mediaCollection: {
                sessionDetails: {
                    ...
                }
            }
        }
    });
Property Type Required Description
playerId String Yes The player ID, an unique identifier representing the media session.
getPlayerDetails Function Yes A function that returns the player details. This callback function will be called by the Web SDK before every media event for the playerId provided.
xdm.eventType Object No The media event type. If not provided, this is automatically set to media.sessionStart.
xdm.mediaCollection.sessionDetails Object Yes The session details object. The sessionDetails object should contain the session details properties. See the Media Collection schema documentation for more information.

Create a manually-tracked media session

To start tracking a media session manually, call the createMediaSession method with the options described below:

const sessionPromise = alloy("createMediaSession", {
    xdm: {
        eventType: "media.sessionStart",
        mediaCollection: {
            playhead: 0,
            sessionDetails: {
                ...
            },
            qoeDataDetails: {
                bitrate: 1000,
                startupTime: 1000,
                fps: 30,
                droppedFrames: 10
            }
        }
    }
});
Property Type Requred Description
xdm.eventType Object No The media event type. If not provided, it is automatically set to media.sessionStart.
xdm.mediaCollection.sessionDetails Object Yes The session details object. The sessionDetails object should contain the session details properties. See the Media Collection schema documentation for more information.
xdm.mediaCollection.playhead Integer Yes The current playhead.
xdm.mediaCollection.qoeDataDetails Object No The quality of experience data details. See the Media Collection schema documentation for more information.

On this page