API
1. gfpInstream
createAdScheduleManager()
createAdScheduleManager(videoAdScheduleProps: VideoAdScheduleProps): VideoAdScheduleManager
videoAdScheduleProps로 스케줄러를 생성하여 반환합니다. 동일한 adVideoContainer로 생성된 스케줄러가 존재할 경우 이전에 생성된 스케줄러를 반환합니다.
-
Parameter
videoAdScheduleProps: object 타입의 스케줄러 생성 파리미터
-
Return
VideoAdScheduleManager: 생성한 광고 스케줄러
initializeAdDisplayContainer()
initializeAdDisplayContainer(): Promise<void>
광고를 요청하기 전에 필수적으로 실행되어야할 메서드. 해당 메서드를 통해서 광고 비디오 엘리먼트를 초기화합니다.
createAdDisplayContainerInfo()
createAdDisplayContainerInfo(adVideoContainer: HTMLDivElement, contentVideo: HTMLVideoElement, adPlayerType: AdPlayerType = 'HTML5_PC'): AdDisplayContainerInfo
AdDisplayContainerInfo를 생성하여 반환합니다. VideoAdSchduleManager를 생성하기 전, 광고 비디오 엘리먼트를 초기화할 때 사용됩니다. 초기화 이후에는 VideoAdScheduleManager.setAdDisplayContainerInfo 메서드를 통해 주입이 필요합니다.
-
Parameter
adVideoContainer:
AdVideoContainer
영역의 HTMLDivElement 레퍼런스
contentVideo:ContentVideo
영역의 HTMLVideoElement 레퍼런스
adPlayerType: 광고 인터페이스 환경 -
Return
AdDisplayContainerInfo: 초기화에 필요한 AdDisplayContainerInfo 객체.
initialize
메서드를 호출함으로써 초기화를 진행할 수 있습니다.
findAdScheduleManager()
findAdScheduleManager(adVideoContainer: HTMLDivElement): VideoAdScheduleManager | undefined
-
Parameter
adVideoContainer: 스케줄러을 생성할 때 전달한 adVideoContainer
-
Return
baseElemenetId로 찾은 스케줄러. 존재하지 않을 경우 undefined 반환합니다.
setGlobalConfig()
setGlobalConfig(gfpConfig: GfpConfig): void
-
Parameter
gfpConfig: SDK 전역 파라미터 설정값
getGlobalConfig()
getGlobalConfig(): GfpConfig
-
Return
gfpConfig: 설정된 SDK 전역 파라미터 설정값
setPhase()
setPhase(phase: "test" | "production"): void
-
Parameter
phase(string): test 혹은 production 환경을 설정할 수 있는 값.
getPhase()
getPhase(): string
-
Return
phase(string): phase가 설정되지 않은 경우 SDK의 phase 기본값을 반환합니다.
getVersion()
getVersion(): string
-
Return
version(string): SDK의 버전 정보
callNativeBounce()
callNativeBounce(): void
Bounceback 트래킹을 전송합니다. SPA 페이지와 같이 브라우저 히스토리 백을 감지하지 못할 경우 매체에서 명시적으로 Bounceback 트래킹을 호출할 수 있도록 제공됩니다.
2. VideoAdScheduleManager
addScheduleEventListener()
addScheduleEventListener(event: gfpInstream.GfpAdScheduleEvent, handler: Function): void
스케줄 이벤트 리스너를 추가합니다.
addEventListener()
addEventListener(event: gfpInstream.GfpAdEvent, handler: Function): void
광고 이벤트 리스너를 추가합니다.
addVideoQoeListener()
addVideoQoeListener(event: gfpInstream.GfpAdEvent, handler: Function): void
QOE 이벤트 리스너를 추가합니다.
load()
load(): void
광고 스케줄 정보를 광고 서버로부터 요청합니다.
loadWithAdSchedule()
loadWithAdSchedule(adScheduleResponse: ScheduleResponse): void
광고 스케줄 정보를 주입할 때 사용하는 메서드입니다.
-
Parameter
adScheduleResponse: 아래 타입스크립 코드 참조
interface ScheduleResponse {
requestId: string;
head: Head;
videoAdScheduleId: string;
adBreaks: AdBreak[];
}
startAdSchedule()
startAdSchedule(): void
스케줄러 내부에 저장된 광고 스케줄을 시작합니다.
pause()
pause(): void
광고 영상에 대한 일시정지를 요청합니다.
resume()
resume(): void
광고 영 상에 대한 재생을 요청합니다.
hideAllNonLinearAd()
hideAllNonLinearAd(): void
현재 노출 중인 전체 nonLinear 광고를 숨김 처리합니다.
requestPictureInPicture()
requestPictureInPicture(): void
광고 비디오 엘리먼트에 대한 PIP를 요청합니다. MDN 가이드 참조
- IMA 광고에 대해서는 미지원 상태입니다.
- 브라우저 지원 상태에 대한 확인이 필요합니다. (지원 확인 브라우저: PC 크롬, PC 엣지, PC 웨일)
https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement/requestPictureInPicture
smartTvAction()
smartTvAction(action: SmartTvAction): void
SmartTV 전용 인터페이스입니다.
export type SmartTvAction =
| {
type: 'clickPauseResume' | 'clickSkipBtn';
}
| {
type: 'setVideoOverlayStyle' | 'setSkipFocusStyle';
enable: boolean;
};
-
Parameter
action
- type
- clickPauseResume: 재생 / 일시정지 버튼을 클릭합니다.
- clickSkipBtn: 스킵 버튼을 클릭합니다.
- setVideoOverlayStyle: 광고 오버레이를 결정할 수 있습니다. 추가
enable
파라미터를 필요로 합니다. - setSkipFocusStyle: 스킵 버튼 포커스 여부를 결정할 수 있습니다. 추가
enable
파라미터를 필요로 합니다.
- type
getAdDisplayContainerInfo()
getAdDisplayContainerInfo(): AdDisplayContainerInfo
스케줄러 내에 저장된 AdDisplayContainerInfo 반환하는 함수입니다.
콘텐츠 변경 시 광고 스케줄 정보 재요청 가이드를 참조 부탁드립니다.
-
Return
adDisplayContainerInfo: 아래 타입스크립트 코드 참조
type AdDisplayContainerInfo = {
[RenderType.GV]?: AdDisplayContainer;
[RenderType.GOOGLE_IMA]?: google.ima.AdDisplayContainer;
soundAutoPlayChecker?: SoundAutoPlayChecker;
};
setAdDisplayContainerInfo()
setAdDisplayContainerInfo(adDisplayContainerInfo: AdDisplayContainerInfo): void
스케줄러를 재생성 할 때 기존에 사용하던 AdDisplayContainerInfo를 주입하기 위해 사용됩니다.
콘텐츠 변경 시 광고 스케줄 정보 재요청 가이드를 참조 부탁드립니다.
-
Parameter
adDisplayContainerInfo
setAdSchedulePolicy()
setAdSchedulePolicy(adSchedulePolicy: AdSchedulePolicy): void
-
Parameter
adSchedulePolicy: 아래 타입스크립트 참조.
interface AdSchedulePolicy {
pre: boolean;
mid: boolean;
post: boolean;
}
setAdvertiseParam()
setAdvertiseParam(advertiseParam: AdvertiseParam): void
NTV 퍼가기 기능 지원을 위한 인터페이스
-
Parameter
advertiseParam: 아래 타입스크립트 참조.
interface AdvertiseParam {
scheduleParam: {
adScheduleId: string;
contentsDuration: number;
adSchedulePolicy: AdSchedulePolicy;
};
adRequestParam: Record<string, number | string>;
}
setAdRenderTypes()
setAdRenderTypes(adRenderTypes: Array<"GOOGLE_IMA" | "GV">)
-
Parameter
adRenderTypes: 광고 렌더 타입을 설정할 수 있습니다. 기본값으로는
["GV"]
이 사용됩니다.
setAdRenderingSettings()
setAdRenderingSettings(videoAdRenderingSettings: VideoAdRenderingSettings): void
AdRenderingSettings 가이드를 참조 부탁드립니다.
-
Parameter
videoAdRenderingSettings: 광고 렌더링과 관련된 부가정보들을 설정할 수 있습니다.
interface VideoAdRenderingSettings {
bitrate?: number;
enableHls?: boolean;
loadVideoTimeout?: number;
}
destroy()
destroy(): void
스케줄러를 삭제합니다.