콘텐츠 영상 변경 시 광고 스케줄 재요청
콘텐츠 영상이 변경되는 경우 광고 스케줄러를 다시 생성하고 설정한 뒤 광고 스케줄을 재요청 해야합니다.
1. 스케줄러 다시 생성하기
-
기존 생성한 스케줄러를 삭제(
videoAdScheduleManager.destroy()
)합니다. -
변경된 콘텐츠 영상을 기준으로 videoAdScheduleProps를 생성한 뒤 videoAdScheduleManager를 다시 생성(
gfpInstream.createAdScheduleManager()
)합니다.warning콘텐츠 영상이 변경되었을 때 videoAdScheduleProps 값이 변경되지 않아도 스케줄러가 다시 생성되어야 합니다.
// 기존 스케줄러 삭제
prevVideoAdScheduleManager.destroy();
// 변경된 초기화 정보(videoAdScheduleProps)로 신규 스케줄러 생성
var videoAdScheduleManager = gfpInstream.createAdScheduleManager(videoAdScheduleProps);
2. 기존 스케줄러의 adDisplayContainerInfo 공유하기
-
기존 스케줄러의 광고 재생 조건과 동일한 조건에서 광고를 재생하기 위해
adDisplayContainerInfo
를 공유해야 합니다.videoAdScheduleManager.getAdDisplayContainerInfo()
를 사용하여adDisplayContainerInfo
를 획득할 수 있습니다.videoAdScheduleManager.setAdDisplayContainerInfo()
를 사용하여adDisplayContainerInfo
를 설정할 수 있습니다.
// 기존 스케줄러의 adDisplayContainer 조회
var adDisplayContainerInfo = prevVideoAdScheduleManager.getAdDisplayContainerInfo();
// 기존 스케줄러 삭제
prevVideoAdScheduleManager.destroy();
// 변경된 초기화 정보(videoAdScheduleProps)로 신규 스케줄러 생성
var videoAdScheduleManager = gfpInstream.createAdScheduleManager(videoAdScheduleProps);
// 기존 스케줄러의 adDisplayContainer 주입
videoAdScheduleManager.setAdDisplayContainerInfo(adDisplayContainerInfo);
3. 새로운 스케줄러를 사용하여 광고 로드
새로운 스케줄러를 사용하여 이벤트를 등록하고 광고를 로드하고 스케줄을 요청합니다.
// 기존 스케줄러의 adDisplayContainer 조회
var adDisplayContainerInfo = prevVideoAdScheduleManager.getAdDisplayContainerInfo();
// 기존 스케줄러 삭제
prevVideoAdScheduleManager.destroy();
// 변경된 초기화 정보(videoAdScheduleProps)로 새로운 스케줄러 생성
var videoAdScheduleManager = gfpInstream.createAdScheduleManager(videoAdScheduleProps);
// 새로운 스케줄러에 이벤트 등록
videoAdScheduleManager.addEventListener(gfpInstream.GfpAdEvent.AD_START_READY, function ({ ad }) {
//
});
// 기존 스케줄러의 adDisplayContainer를 새로운 스케줄러에 주입
videoAdScheduleManager.setAdDisplayContainerInfo(adDisplayContainerInfo);
// 새로운 스케줄러 스케줄 로드
videoAdScheduleManager.load();
// 새로운 스케줄러 스케줄 재요청
videoAdScheduleManager.startAdSchedule();