Publisher

This page covers data collection for the Publisher variable. See Publisher for the corresponding reporting dimension.

The publisher variable is the name of the audio content publisher (for example, a podcast network or audiobook publisher). Use it to compare engagement across publishers in a curated audio catalog.

Property
Value
Context data variable
a.media.publisher
XDM collection field
xdm.mediaCollection.sessionDetails.publisher
Audience Manager trait
c_contextdata.a.media.publisher
Required
No
Sent with
Session start, session close
Web SDK

Set publisher inside xdm.mediaCollection.sessionDetails when calling sendEvent:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        publisher: "Northbridge Audio"
      },
      playhead: 0
    }
  }
});
iOS

Pass the publisher as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.AudioMetadataKeys.PUBLISHER.

code language-swift
var metadata: [String: String] = [:]
metadata[MediaConstants.AudioMetadataKeys.PUBLISHER] = "Northbridge Audio"

tracker.trackSessionStart(info: mediaObject, metadata: metadata)
Android

Pass the publisher as a metadata key in the HashMap argument to trackSessionStart. Use MediaConstants.AudioMetadataKeys.PUBLISHER.

code language-kotlin
val metadata = HashMap<String, String>()
metadata[MediaConstants.AudioMetadataKeys.PUBLISHER] = "Northbridge Audio"

tracker.trackSessionStart(mediaInfo, metadata)
Roku Edge

Use createMediaSession to set publisher inside sessionDetails:

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "publisher": "Northbridge Audio"
            },
            "playhead": 0
        }
    }
})
Media Edge API

Call the sessionStart endpoint with publisher inside xdm.mediaCollection.sessionDetails:

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

Legacy implementation types (Analytics-only)

Media SDK JS 3.x

Pass the publisher in the contextData object using ADB.Media.AudioMetadataKeys.Publisher:

code language-javascript
var contextData = {};
contextData[ADB.Media.AudioMetadataKeys.Publisher] = "Northbridge Audio";

tracker.trackSessionStart(mediaInfo, contextData);
Chromecast

Use ADBMobile.media.AudioMetadataKeys.PUBLISHER to set the publisher in the StandardMediaMetadata property of the media object before calling trackSessionStart:

code language-javascript
var mediaInfo = ADBMobile.media.createMediaObject("My Track", "audio-123", 240,
  ADBMobile.media.StreamType.AOD, ADBMobile.media.MediaType.Audio);
var standardMetadata = {};
standardMetadata[ADBMobile.media.AudioMetadataKeys.PUBLISHER] = "Northbridge Audio";
mediaInfo[ADBMobile.media.MediaObjectKey.StandardMediaMetadata] = standardMetadata;
ADBMobile.media.trackSessionStart(mediaInfo, null);
Roku 2.x

Use MEDIA_AudioMetadataKeyPUBLISHER to set the publisher in the standard metadata of the media object before calling mediaTrackSessionStart:

code language-brightscript
adb = ADBMobile()
mediaInfo = adb_media_init_mediainfo("My Track", "audio-123", 240.0, adb.MEDIA_STREAM_TYPE_AOD, adb.MEDIA_TYPE_AUDIO)

standardMetadata = {}
standardMetadata[adb.MEDIA_AudioMetadataKeyPUBLISHER] = "Northbridge Audio"
mediaInfo[adb.MEDIA_STANDARD_MEDIA_METADATA] = standardMetadata

adb.mediaTrackSessionStart(mediaInfo, invalid)
Media Collection API

Include media.publisher in the params object:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.publisher": "Northbridge Audio"
  }
}

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

recommendation-more-help
media-analytics-help