Describes the CMCD (Common Media Client Data) configuration at the source level.

Remarks

  • Event mode reporting available since v11.4.0.
  • This extends the player-level CmcdPlayerConfiguration by additionally allowing a session ID to be specified per source. Source-level values take precedence over player-level values for overlapping fields, except for `eventEndpoints` which are merged (both player and source endpoints receive events).
interface CmcdSourceConfiguration {
    contentID?: string;
    customKeys?: {
        [key: string]: string | number | boolean;
    };
    eventEndpoints?: CmcdEndpointConfiguration[];
    externalSessionId?: string;
    jsonObjectTargetURI?: string;
    sendRequestID?: boolean;
    sessionID?: string;
    transmissionMode?: CmcdTransmissionMode;
    userId?: string;
}

Hierarchy (view full)

Properties

contentID?: string

The content ID parameter which should be passed as a CMCD value. If left empty, no content ID will be sent.

Platform

Web

Remarks

Request mode only

customKeys?: {
    [key: string]: string | number | boolean;
}

An object containing custom keys which should be added to the generated CMCD parameters. Note custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future revisions to the specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.

Type declaration

  • [key: string]: string | number | boolean

Platform

Web

Remarks

Request mode only

eventEndpoints?: CmcdEndpointConfiguration[]

A list of CMCD endpoints to which events should be sent.

externalSessionId?: string

An external session ID that can be used to identify the current playback session.

jsonObjectTargetURI?: string

The target URI where client data is to be delivered in case the transmissionMode is set to CmcdTransmissionMode.JSON_OBJECT.

Platform

Web

Remarks

Request mode only

sendRequestID?: boolean

A flag to indicate if request IDs should be sent or not. When set to a truthy value, a UUIDv4 will be sent as a request id (rid) with every request to allow for request tracing.

Platform

Web

Remarks

Request mode only

sessionID?: string

A GUID identifying the current playback session. If left empty, a UUIDv4 will be generated when applying the configuration.

Remarks

  • A playback session typically consists of the playback of a single media asset along with accompanying content such as advertisements. The maximum length is 64 characters. It is RECOMMENDED to conform to the UUID specification (https://tools.ietf.org/html/rfc4122).
  • Event mode only for iOS and Android
transmissionMode?: CmcdTransmissionMode

The data transmission mode as defined in section 2 of the specification.

Remarks

  • Starting from version 11.4.0, this property is now optional. By providing a value, request mode will be enabled as it was before. If left undefined, the SDK will not use request mode.
  • Request mode only
userId?: string

A user ID that can be used to identify the user.