Content player name

This page covers data collection for the Content player name variable. See Content player name for the corresponding reporting dimension.

The content player name variable identifies which player rendered the content (for example, HTML5 Player, Brightcove, or Roku Player). It is required for all streaming media implementations and must be set at session start. The value is used in the Content Player Name dimension to compare engagement and quality across players in the same property.

Property
Value
Context data variable
a.media.playerName
XDM collection field
mediaCollection.sessionDetails.playerName
Required
Yes
Sent with
Session start, session close

Web SDK

Set playerName inside mediaCollection.sessionDetails when calling sendEvent:

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

Set the player name through the tracker configuration when creating the tracker, using MediaConstants.TrackerConfig.PLAYER_NAME. The player name is not part of the media object.

iOS (Swift)

var config: [String: Any] = [:]
config[MediaConstants.TrackerConfig.PLAYER_NAME] = "HTML5 Player"
config[MediaConstants.TrackerConfig.CHANNEL] = "Sports"

Media.createTrackerWith(config: config) { tracker in
    self.tracker = tracker
}

Android (Kotlin)

val config = HashMap<String, Any>()
config[MediaConstants.TrackerConfig.PLAYER_NAME] = "HTML5 Player"
config[MediaConstants.TrackerConfig.CHANNEL] = "Sports"

val tracker = Media.createTracker(config)

Roku (BrightScript)

Set playerName inside mediaCollection.sessionDetails when calling createMediaSession:

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 with playerName inside mediaCollection.sessionDetails:

{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "length": 128,
          "contentType": "vod",
          "playerName": "HTML5 Player",
          "channel": "Sports"
        },
        "playhead": 0
      }
    }
  }]
}

Media SDK

Set the player name on ADB.MediaConfig before creating the tracker:

var mediaConfig = new ADB.MediaConfig();
mediaConfig.trackingServer = "your.tracking.server";
mediaConfig.playerName = "HTML5 Player";
mediaConfig.channel = "Sports";

var tracker = ADB.Media.getInstance(mediaConfig);

Media Collection API

Include media.playerName in the params object of your sessionStart POST request:

{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.playerName": "HTML5 Player"
  }
}

See the Media Collection API sessions reference for the full request structure.

recommendation-more-help
media-analytics-help