Buffer start
The buffer start event signals that the media player entered a buffering state.
- Prerequisites: Session start
- Associated metric: Buffer events
NOTE
XDM-based APIs (Web SDK, Roku, Media Edge API, Media Collection API): There is no buffer resume event type; buffer end is inferred when you send a
play event after bufferStart.Mobile SDK: Call
trackEvent(BufferComplete) when the player exits buffering, then call trackPlay() to resume playback.Web SDK
Call sendEvent with eventType: "media.bufferStart":
alloy("sendEvent", {
xdm: {
eventType: "media.bufferStart",
mediaCollection: {
sessionID: "{sid}",
playhead: 45
}
}
});
Mobile SDK
Call trackEvent with BufferStart when the player enters a buffering state, and BufferComplete when it exits.
iOS (Swift)
// Buffer starts
tracker.trackEvent(event: MediaEvent.BufferStart, info: nil, metadata: nil)
// Buffer ends
tracker.trackEvent(event: MediaEvent.BufferComplete, info: nil, metadata: nil)
Android (Kotlin)
// Buffer starts
tracker.trackEvent(Media.Event.BufferStart, null, null)
// Buffer ends
tracker.trackEvent(Media.Event.BufferComplete, null, null)
Roku (BrightScript)
Call sendMediaEvent with eventType: "media.bufferStart":
m.aepSdk.sendMediaEvent({
"xdm": {
"eventType": "media.bufferStart",
"mediaCollection": {
"playhead": 45
}
}
})
Media Edge API
Call the bufferStart endpoint:
curl -X POST "https://edge.adobedc.net/ee/va/v1/bufferStart?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
"events": [{
"xdm": {
"eventType": "media.bufferStart",
"mediaCollection": {
"sessionID": "{sid}",
"playhead": 45
},
"timestamp": "YYYY-08-20T22:41:40+00:00"
}
}]
}'
Media SDK
Call trackEvent with the BufferStart event type:
tracker.trackEvent(ADB.Media.Event.BufferStart, null, null);
Media Collection API
Send a bufferStart POST to the events endpoint:
{
"playerTime": { "playhead": 45, "ts": 1699523820000 },
"eventType": "bufferStart"
}
recommendation-more-help
media-analytics-help