title: PlayerConfig
Interface: PlayerConfig
Fully resolved player configuration — all fields required.
interface PlayerConfig { ad: { apsTimeout: number; autoPauseWhenInvisible: boolean; bidding: boolean; customClickButton: boolean; enable: boolean; imaUi: boolean; intensity: number; maxRedirectCount: number; maxWaterfallLength: number; palSdk: boolean; pauseButton: boolean; player: "ads-sdk" | "ima"; prebidTimeout: number; vastLoadTimeout: number; videoLoadTimeout: number; maxDuration?: number; tagConfig?: string | { url: string; errorPixels?: string[]; externalId?: string; id?: string } | { lineItems: { url: string; errorPixels?: string[]; externalId?: string; id?: string }[]; maxDuration?: number; maxFallbackAttempts?: number; name?: string }[] }; analytics: { scriptUrl?: string }; dock: { allowAdClose: boolean; bottom: string; enable: boolean; left: string; position: "top" | "right" | "bottom" | "left" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "stickyTop" | "stickyTopExpanded"; right: string; snapTop: string; top: string; targetSelector?: string }; earlyRecommendations: { buttonCountdownSeconds: number; enable: boolean; maximumVisibility: number; minimumContentDurationSeconds: number; showAfterSeconds: number }; otherPlayers: { pauseOnOtherPlay: boolean; pauseOnOtherPlayWhenMuted: boolean; singleDockMode: boolean }; playback: { anyClickUnmute: boolean; initialAutoplayPlaybackRate: number; initialPlaybackRate: number; noConsentNoAutoplay: boolean; playOnVisibility: number; preload: "metadata" | "none" | "auto"; restoreMediaPreferences: boolean; startBehavior: "click-to-play" | "scroll-to-play" | "scroll-to-play-when-ad" | "scroll-to-play-with-out-to-play-fallback" | "scroll-to-play-with-silent-fallback" | "silent-scroll-to-play" | "silent-scroll-to-play-when-ad" | "scroll-out-to-play" | "scroll-out-to-play-when-ad"; autoplayVolume?: number }; playlist: { contentFrequencyCapping: boolean; endBehavior: "stop" | "loop"; endscreen: "continue" | "none"; recommendations: boolean; revolverPlay: boolean; revolverPlayAutoplayCountdown: number; revolverPlayCountdown: number }; privacy: { loadThirdPartyOnlyIfConsent: boolean }; seo: { addJsonLd: boolean }; ui: { contentBranding: boolean; contentComposition: "content" | "content-network" | "content-streamer"; contentOwnerLogo: boolean; enable: boolean; epgButton: boolean; globalKeyboardEvents: boolean; nextVideoButton: boolean; premiumProductName: string; tapToUnmute: boolean; title: boolean; upsellButton: boolean; useInitialTeaserComposition: boolean }; context?: { deviceType?: string; extra?: Record<string, unknown>; partnerId?: string; partnerName?: string; productFormat?: string; productName?: string; publisherCountryCode?: string; publisherId?: string; userCountryCode?: string }; developmentFlags?: { configOverrides?: PlayerConfigInput; debug?: boolean; environment?: "stage"; stylesUrl?: string; [key: string]: unknown }; experiments?: Record<string, string>; id?: string; variant?: { id: string; [x: string]: unknown };}
Properties
ad
ad:
object
apsTimeout
apsTimeout:
number
autoPauseWhenInvisible
autoPauseWhenInvisible:
boolean
bidding
bidding:
boolean
customClickButton
customClickButton:
boolean
enable
enable:
boolean
imaUi
imaUi:
boolean
intensity
intensity:
number
maxRedirectCount
maxRedirectCount:
number
maxWaterfallLength
maxWaterfallLength:
number
palSdk
palSdk:
boolean
pauseButton
pauseButton:
boolean
player
player:
"ads-sdk"|"ima"
prebidTimeout
prebidTimeout:
number
vastLoadTimeout
vastLoadTimeout:
number
videoLoadTimeout
videoLoadTimeout:
number
maxDuration?
optionalmaxDuration:number
tagConfig?
optionaltagConfig:string| {url:string;errorPixels?:string[];externalId?:string;id?:string; } |object[]
analytics
analytics:
object
scriptUrl?
optionalscriptUrl:string
dock
dock:
object
allowAdClose
allowAdClose:
boolean
bottom
bottom:
string
enable
enable:
boolean
left
left:
string
position
position:
"top"|"right"|"bottom"|"left"|"bottomLeft"|"bottomRight"|"topLeft"|"topRight"|"stickyTop"|"stickyTopExpanded"
right
right:
string
snapTop
snapTop:
string
top
top:
string
targetSelector?
optionaltargetSelector:string
earlyRecommendations
earlyRecommendations:
object
buttonCountdownSeconds
buttonCountdownSeconds:
number
enable
enable:
boolean
maximumVisibility
maximumVisibility:
number
minimumContentDurationSeconds
minimumContentDurationSeconds:
number
showAfterSeconds
showAfterSeconds:
number
otherPlayers
otherPlayers:
object
pauseOnOtherPlay
pauseOnOtherPlay:
boolean
pauseOnOtherPlayWhenMuted
pauseOnOtherPlayWhenMuted:
boolean
singleDockMode
singleDockMode:
boolean
playback
playback:
object
anyClickUnmute
anyClickUnmute:
boolean
initialAutoplayPlaybackRate
initialAutoplayPlaybackRate:
number
initialPlaybackRate
initialPlaybackRate:
number
noConsentNoAutoplay
noConsentNoAutoplay:
boolean
playOnVisibility
playOnVisibility:
number
preload
preload:
"metadata"|"none"|"auto"
restoreMediaPreferences
restoreMediaPreferences:
boolean
startBehavior
startBehavior:
"click-to-play"|"scroll-to-play"|"scroll-to-play-when-ad"|"scroll-to-play-with-out-to-play-fallback"|"scroll-to-play-with-silent-fallback"|"silent-scroll-to-play"|"silent-scroll-to-play-when-ad"|"scroll-out-to-play"|"scroll-out-to-play-when-ad"
autoplayVolume?
optionalautoplayVolume:number
playlist
playlist:
object
contentFrequencyCapping
contentFrequencyCapping:
boolean
endBehavior
endBehavior:
"stop"|"loop"
endscreen
endscreen:
"continue"|"none"
recommendations
recommendations:
boolean
revolverPlay
revolverPlay:
boolean
revolverPlayAutoplayCountdown
revolverPlayAutoplayCountdown:
number
revolverPlayCountdown
revolverPlayCountdown:
number
privacy
privacy:
object
loadThirdPartyOnlyIfConsent
loadThirdPartyOnlyIfConsent:
boolean
seo
seo:
object
addJsonLd
addJsonLd:
boolean
ui
ui:
object
contentBranding
contentBranding:
boolean
contentComposition
contentComposition:
"content"|"content-network"|"content-streamer"
contentOwnerLogo
contentOwnerLogo:
boolean
enable
enable:
boolean
epgButton
epgButton:
boolean
globalKeyboardEvents
globalKeyboardEvents:
boolean
nextVideoButton
nextVideoButton:
boolean
premiumProductName
premiumProductName:
string
tapToUnmute
tapToUnmute:
boolean
title
title:
boolean
upsellButton
upsellButton:
boolean
useInitialTeaserComposition
useInitialTeaserComposition:
boolean
context?
optionalcontext:object
deviceType?
optionaldeviceType:string
extra?
optionalextra:Record<string,unknown>
partnerId?
optionalpartnerId:string
partnerName?
optionalpartnerName:string
productFormat?
optionalproductFormat:string
productName?
optionalproductName:string
publisherCountryCode?
optionalpublisherCountryCode:string
publisherId?
optionalpublisherId:string
userCountryCode?
optionaluserCountryCode:string
developmentFlags?
optionaldevelopmentFlags:object
Index Signature
[key: string]: unknown
configOverrides?
optionalconfigOverrides:PlayerConfigInput
Final-layer config override — applied on top of defaults, remote, and inline config.
debug?
optionaldebug:boolean
Enable debug mode. Can also be set via the ?turboDebug=true URL parameter.
environment?
optionalenvironment:"stage"
Target the stage environment instead of production.
stylesUrl?
optionalstylesUrl:string
Override the styles URL.
experiments?
optionalexperiments:Record<string,string>
id?
optionalid:string
variant?
optionalvariant:object
Index Signature
[x: string]: unknown
id
id:
string