Session start
The session start event opens a media tracking session. It must be the first event sent for any playback. The response returns a session ID that all subsequent events for the same session must include.
- Prerequisites: None; always the first event
- Associated metric: Media starts
Web SDK
Call sendEvent with eventType: "media.sessionStart" and the required sessionDetails. The response includes the session ID in handle[].payload[].sessionId (type media-analytics:new-session). Store this value and pass it as sessionID in all subsequent events.
alloy("sendEvent", {
xdm: {
eventType: "media.sessionStart",
mediaCollection: {
sessionDetails: {
name: "video-123",
length: 128,
contentType: "vod",
playerName: "HTML5 Player",
channel: "Sports",
streamType: "video"
},
playhead: 0
}
}
});
Mobile SDK
Call trackSessionStart with a media object and optional metadata.
iOS (Swift)
let mediaObject = Media.createMediaObjectWith(name: "video-123",
id: "video-id-123",
length: 128,
streamType: MediaConstants.StreamType.VOD,
mediaType: MediaType.Video)
tracker.trackSessionStart(info: mediaObject, metadata: nil)
Android (Kotlin)
val mediaObject = Media.createMediaObject("video-123",
"video-id-123",
128,
MediaConstants.StreamType.VOD,
Media.MediaType.Video)
tracker.trackSessionStart(mediaObject, null)
Roku (BrightScript)
Call createMediaSession with the required session details:
m.aepSdk.createMediaSession({
"xdm": {
"eventType": "media.sessionStart",
"mediaCollection": {
"sessionDetails": {
"name": "video-123",
"length": 128,
"contentType": "vod",
"playerName": "Roku Player",
"channel": "Sports",
"streamType": "video"
},
"playhead": 0
}
}
})
Media Edge API
Call the sessionStart endpoint. The response includes the session ID in handle[].payload[].sessionId (type media-analytics:new-session).
curl -X POST "https://edge.adobedc.net/ee/va/v1/sessionStart?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
"events": [{
"xdm": {
"eventType": "media.sessionStart",
"mediaCollection": {
"sessionDetails": {
"name": "video-123",
"playerName": "HTML5 Player",
"contentType": "VOD",
"length": 128,
"channel": "Sports"
},
"playhead": 0
}
}
}]
}'
Media SDK
Call trackSessionStart with a media object created using ADB.Media.createMediaObject:
var mediaObject = ADB.Media.createMediaObject(
"video-123", // name
"video-id-123", // media ID
128, // length (seconds)
ADB.Media.StreamType.VOD, // stream type
ADB.Media.MediaType.Video // media type
);
tracker.trackSessionStart(mediaObject, null);
Media Collection API
Send a sessionStart POST to the sessions endpoint. The response Location header contains the session ID to use in all subsequent event requests.
{
"playerTime": { "playhead": 0, "ts": 1699523820000 },
"eventType": "sessionStart",
"params": {
"media.channel": "Sports",
"media.playerName": "HTML5 Player",
"media.contentType": "vod",
"media.length": 128,
"media.id": "video-123"
}
}