UNPKG

unified-video-framework

Version:

Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more

68 lines 2.04 kB
export interface GoogleAdsConfig { adTagUrl: string; midrollTimes?: number[]; liveAdBreakMode?: 'periodic' | 'manual'; periodicAdInterval?: number; syncToLiveEdge?: boolean; pauseStreamDuringAd?: boolean; liveEdgeOffset?: number; companionAdSlots?: Array<{ containerId: string; width: number; height: number; }>; onAdStart?: () => void; onAdEnd?: () => void; onAdError?: (error: any) => void; onAllAdsComplete?: () => void; onAdCuePoints?: (cuePoints: number[]) => void; } export declare class GoogleAdsManager { private video; private adContainer; private config; private adsManager; private adsLoader; private adDisplayContainer; private isAdPlaying; private isMuted; private unmuteButton; private adProgressBar; private adProgressInterval; private lastAdTime; private periodicAdCheckInterval; private pendingAdRequest; private focusHandler; private visibilityHandler; private timeupdateHandler; private volumechangeHandler; private triggeredMidrollTimes; constructor(video: HTMLVideoElement, adContainer: HTMLElement, config: GoogleAdsConfig); private setupFocusHandler; initialize(): Promise<void>; private loadIMASDK; private setupAdsLoader; private setupMidrollTriggers; setupPeriodicAds(): void; private triggerPeriodicAd; requestAds(): void; initAdDisplayContainer(): void; private onAdsManagerLoaded; private setupAdsManagerListeners; private onAdError; pause(): void; resume(): void; skip(): void; resize(width: number, height: number, viewMode?: any): void; setVolume(volume: number): void; isPlayingAd(): boolean; private showUnmuteButton; private toggleAdMute; private updateMuteButtonUI; private resumeAdPlayback; private hideUnmuteButton; private showAdProgressBar; private hideAdProgressBar; destroy(): void; } //# sourceMappingURL=GoogleAdsManager.d.ts.map