Skip to main content

API

1. gfpInstream

createAdScheduleManager()

createAdScheduleManager(videoAdScheduleProps: VideoAdScheduleProps): VideoAdScheduleManager

videoAdScheduleProps로 스케줄러를 생성하여 반환합니다. 동일한 adVideoContainer로 생성된 스케줄러가 존재할 경우 이전에 생성된 스케줄러를 반환합니다.

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

getGlobalConfig()

getGlobalConfig(): GfpConfig

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 가이드 참조

caution
  1. IMA 광고에 대해서는 미지원 상태입니다.
  2. 브라우저 지원 상태에 대한 확인이 필요합니다. (지원 확인 브라우저: 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 파라미터를 필요로 합니다.

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

스케줄러를 삭제합니다.