스케줄러
1. 역할
스케줄러를 통해서 아래 기능들을 사용할 수 있습니다.
- 광고 요청 파라미터 설정
- 광고 스케줄 요청 혹은 주입
- 스케줄 이벤트 등록
- 광고 이벤트 등록
- QOE 이벤트 등록
2. 스케줄러 생성하기
gfpInstream.createAdScheduleManager()
를 통해 스케줄러를 생성합니다.
const videoAdScheduleManager = gfpInstream.createAdScheduleManager(props);
2-1. 생성 파라미터
info
HTML 계층은 아래와 같은 구조로 이루어져있습니다.
|-- BaseElement
|-- ContentVideo // 콘텐츠 영역
|-- AdVideoContainer // 광고 영역
baseElementId
- required, string
BaseElement
의 id 값
contentVideo
- required, HTMLVideoElement
ContentVideo
영역의 HTMLVideoElement 레퍼런스
adVideoContainer
- required, HTMLDivElement
AdVideoContainer
영역의 HTMLDivElement 레퍼런스
adPlayerType
- required, string
'HTML5_PC'
,'HTML5_MO'
,'SMART_TV'
중 선택- 광고 인터페이스 환경
adScheduleParam
- required, object
- adSchduleId
- required, string
- 스케줄 아이디
- contentDuration
- required, number
- 콘텐츠 재생시간 (second 단위)
- adNoticeDuration
- optional, number
- 중간 광고 알림 문구 노출 시간 (second 단위)
- contentsStartOffset
- optional, number
- 0초부터 시작되지 않는 특수한 콘텐츠인 경우 설정 (second 단위)
- adSchduleId
adSchedulePolicy
- required, object
- pre
- required, boolean
- 전광고 요청 여부
- mid
- required, boolean
- 중간광고 요청 여부
- post
- required, boolean
- 후광고 요청 여부
- pre
customParam
- optional, object
- 커스텀한 파라미터 전달 필요 시 사용
info
(참조) 타입스크립트 인터페이스 코드
interface SchedulerProperties {
baseElementId: string;
contentVideo: HTMLVideoElement;
adVideoContainer: HTMLDivElement;
adPlayerType: 'HTML5_PC' | 'HTML5_MO' | 'SMART_TV';
adScheduleParam: {
adScheduleId: string;
contentDuration: number;
adNoticeDuration?: number;
contentsStartOffset?: number;
};
adSchedulePolicy: {
pre: boolean;
mid: boolean;
post: boolean;
};
customParam?: Record<string, string | string[] | number>;
}
2-2. AdDisplayContainer 초기화하기
스케줄러를 생성하고 광고를 재생하기 전 반드시 AdDisplayContainer가 초기화되어야합니다.
AdDisplayContainer
는 AdVideoContainer
하위에서 광고 비디오 영역을 준비하고 감싸는 역할을 합니다.
- 방법 1. VideoAdScheduleManager 생성 후 AdDisplayContainer 초기화
videoAdScheduleManager.initializeAdDisplayContainer();
- 방법 2. AdDisplayContainer 생성 및 초기화 이후 VideoAdScheduleManager 내 주입
const adDisplayContaierInfo = gfpInstream.createAdDisplayContainerInfo({
adVideoContainer,
contentVideo,
adPlayerType
});
adDisplayContaienr.initialize();
videoAdScheduleManager.setAdDisplayContainerInfo(adDisplayContainerInfo);
info
광고의 사운드 재생을 최대한 보장하기 위해 유저의 클릭 이벤트 스코프 내에서 초기화 함수가 호출되어야합니다.
자세한 내용은 사운드 재생를 참고해주세요.
3. 스케줄 요청하기
인스트림 광고의 노출 시점은 광고 스케줄 정보를 통해서 결정됩니다. 광고 스케줄은 광고 서버에 요청하거나 직접 스케줄러에 주입할 수 있습니다.