title: PlayerConfigInput
Interface: PlayerConfigInput
Input config shape — all fields optional. Accepted as inline config and from a remote config service.
interface PlayerConfigInput { ad?: { apsTimeout?: number; autoPauseWhenInvisible?: boolean; bidding?: boolean; customClickButton?: boolean; enable?: boolean; imaUi?: boolean; intensity?: number; maxDuration?: number; maxRedirectCount?: number; maxWaterfallLength?: number; palSdk?: boolean; pauseButton?: boolean; player?: "ads-sdk" | "ima"; prebidTimeout?: 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 }[]; vastLoadTimeout?: number; videoLoadTimeout?: number }; analytics?: { scriptUrl?: string }; 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 }; dock?: { allowAdClose?: boolean; bottom?: string; enable?: boolean; left?: string; position?: "top" | "right" | "bottom" | "left" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "stickyTop" | "stickyTopExpanded"; right?: string; snapTop?: string; targetSelector?: string; top?: string }; earlyRecommendations?: { buttonCountdownSeconds?: number; enable?: boolean; maximumVisibility?: number; minimumContentDurationSeconds?: number; showAfterSeconds?: number }; experiments?: Record<string, string>; id?: string; otherPlayers?: { pauseOnOtherPlay?: boolean; pauseOnOtherPlayWhenMuted?: boolean; singleDockMode?: boolean }; playback?: { anyClickUnmute?: boolean; autoplayVolume?: number; 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" }; 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?: string; contentOwnerLogo?: boolean; enable?: boolean; epgButton?: boolean; globalKeyboardEvents?: boolean; nextVideoButton?: boolean; premiumProductName?: string; tapToUnmute?: boolean; title?: boolean; upsellButton?: boolean; useInitialTeaserComposition?: boolean }; variant?: { id: string; [x: string]: unknown };}
Properties
ad?
optionalad:object
apsTimeout?
optionalapsTimeout:number
autoPauseWhenInvisible?
optionalautoPauseWhenInvisible:boolean
bidding?
optionalbidding:boolean
customClickButton?
optionalcustomClickButton:boolean
enable?
optionalenable:boolean
imaUi?
optionalimaUi:boolean
intensity?
optionalintensity:number
maxDuration?
optionalmaxDuration:number
maxRedirectCount?
optionalmaxRedirectCount:number
maxWaterfallLength?
optionalmaxWaterfallLength:number
palSdk?
optionalpalSdk:boolean
pauseButton?
optionalpauseButton:boolean
player?
optionalplayer:"ads-sdk"|"ima"
prebidTimeout?
optionalprebidTimeout:number
tagConfig?
optionaltagConfig:string| {url:string;errorPixels?:string[];externalId?:string;id?:string; } |object[]
vastLoadTimeout?
optionalvastLoadTimeout:number
videoLoadTimeout?
optionalvideoLoadTimeout:number
analytics?
optionalanalytics:object
scriptUrl?
optionalscriptUrl:string
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.
dock?
optionaldock:object
allowAdClose?
optionalallowAdClose:boolean
bottom?
optionalbottom:string
enable?
optionalenable:boolean
left?
optionalleft:string
position?
optionalposition:"top"|"right"|"bottom"|"left"|"bottomLeft"|"bottomRight"|"topLeft"|"topRight"|"stickyTop"|"stickyTopExpanded"
right?
optionalright:string
snapTop?
optionalsnapTop:string
targetSelector?
optionaltargetSelector:string
top?
optionaltop:string
earlyRecommendations?
optionalearlyRecommendations:object
buttonCountdownSeconds?
optionalbuttonCountdownSeconds:number
enable?
optionalenable:boolean
maximumVisibility?
optionalmaximumVisibility:number
minimumContentDurationSeconds?
optionalminimumContentDurationSeconds:number
showAfterSeconds?
optionalshowAfterSeconds:number
experiments?
optionalexperiments:Record<string,string>
id?
optionalid:string
otherPlayers?
optionalotherPlayers:object
pauseOnOtherPlay?
optionalpauseOnOtherPlay:boolean
pauseOnOtherPlayWhenMuted?
optionalpauseOnOtherPlayWhenMuted:boolean
singleDockMode?
optionalsingleDockMode:boolean
playback?
optionalplayback:object
anyClickUnmute?
optionalanyClickUnmute:boolean
autoplayVolume?
optionalautoplayVolume:number
initialAutoplayPlaybackRate?
optionalinitialAutoplayPlaybackRate:number
initialPlaybackRate?
optionalinitialPlaybackRate:number
noConsentNoAutoplay?
optionalnoConsentNoAutoplay:boolean
playOnVisibility?
optionalplayOnVisibility:number
preload?
optionalpreload:"metadata"|"none"|"auto"
restoreMediaPreferences?
optionalrestoreMediaPreferences:boolean
startBehavior?
optionalstartBehavior:"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"
playlist?
optionalplaylist:object
contentFrequencyCapping?
optionalcontentFrequencyCapping:boolean
endBehavior?
optionalendBehavior:"stop"|"loop"
endscreen?
optionalendscreen:"continue"|"none"
recommendations?
optionalrecommendations:boolean
revolverPlay?
optionalrevolverPlay:boolean
revolverPlayAutoplayCountdown?
optionalrevolverPlayAutoplayCountdown:number
revolverPlayCountdown?
optionalrevolverPlayCountdown:number
privacy?
optionalprivacy:object
loadThirdPartyOnlyIfConsent?
optionalloadThirdPartyOnlyIfConsent:boolean
seo?
optionalseo:object
addJsonLd?
optionaladdJsonLd:boolean
ui?
optionalui:object
contentBranding?
optionalcontentBranding:boolean
contentComposition?
optionalcontentComposition:string
contentOwnerLogo?
optionalcontentOwnerLogo:boolean
enable?
optionalenable:boolean
epgButton?
optionalepgButton:boolean
globalKeyboardEvents?
optionalglobalKeyboardEvents:boolean
nextVideoButton?
optionalnextVideoButton:boolean
premiumProductName?
optionalpremiumProductName:string
tapToUnmute?
optionaltapToUnmute:boolean
title?
optionaltitle:boolean
upsellButton?
optionalupsellButton:boolean
useInitialTeaserComposition?
optionaluseInitialTeaserComposition:boolean
variant?
optionalvariant:object
Index Signature
[x: string]: unknown
id
id:
string