SDK 설계
이 가이드에서는 SDK의 내부 구조, 비디오 레이어 구조, 모듈 간 상호작용 및 라이프사이클, 그리고 OTT 서비스에 광고를 통합하는 방법에 대해 설명합니다.
Lifecycle
광고 기능을 정합하려는 미디어 유형에 따라 라이프사이클이 세 가지 경우로 나뉩니다. 각 경우는 아래에 설명되어 있습니다.
실시간 채널 / FAST에 광고 삽입
이 SDK는 시청자가 Live HLS/DASH 콘텐츠에 진입했을 때 광고를 재생하거나, 광고 마커를 사용하여 재생목록 매니페스트(m3u8 또는 mpd)를 가공하여 대체 광고를 삽입할 수 있습니다.
광고 유형
본 스트림 대체 광고
광고 마커(예: SCTE-35)를 사용하여 본 콘텐츠 스트림을 대체하는 광고 유형입니다. 대체 광고가 재생되거나 종료될 때 SDK는 호스트 서비스에 이벤트를 전송합니다.
채널 진입 광고
시청자가 본 콘텐츠 스트림에 진입하기 전에 재생되는 광고입니다. 시청자가 실시간 콘텐츠를 시청하려고 하면 먼저 진입 광고가 표시됩니다. 진입 광고가 끝나면 시청자는 본 콘텐츠 스트림으로 자연스럽게 전환됩니다. SDK는 이 광고 유형에 대해 광고 이벤트를 제공하지 않습니다.

mux.
VOD에 광고 삽입
이 SDK로 다음 세 가지 유형의 광고를 VOD 콘텐츠에 삽입할 수 있습니다:
- Pre-roll 광고: 비디오 콘텐츠 시작 전에 재생되는 광고입니다.
- Mid-roll 광고: 비디오 스트림 도중에 재생되는 광고입니다.
- Post-roll 광고: 비디오 스트림 종료 후에 재생되는 광고입니다.
FLOWER 백엔드는 각 유형에 대한 광고 정책을 관리하여 VMAP 형식으로 SDK에 전달합니다.
VOD 콘텐츠에 광고를 정합하려면:
FlowerAdsManagerListener의 구현체를 등록합니다.- VOD 콘텐츠를 재생하기 전에
FlowerAdsManager.requestVodAd를 호출합니다. FlowerAdsManagerListener를 통해 전달되는 이벤트를 사용하여 광고 재생에 따라 VOD 콘텐츠를 일시정지하거나 재개합니다.
(*1) 광고 알림 표시
- 사용자 경험을 향상시키기 위해 서비스 정책에 따라 mid-roll 광고 재생 전에 알림을 표시할 수 있습니다.
- 예) 잠시 후 광고가 시작됩니다.
(*2) VOD 종료 시나리오 수행
- 이 SDK는 post-roll 광고가 끝난 후 VOD 재생 종료 시점에 특정 시나리오를 처리할 수 있는 방법을 제공합니다. 이를 통해 서비스 요구사항에 맞는 커스텀 동작이나 전환을 구현할 수 있습니다.
- 예) 시리즈의 다음 에피소드 자동 재생
전면 광고 삽입
이 SDK로 앱, 게임 또는 웹사이트의 사용자 인터페이스에 전체 화면 전면 광고를 원활하게 삽입할 수 있습니다.

View Layer 구조
AdView는 메인 플레이어가 위치한 뷰와 동일한 크기여야 하며 해당 뷰를 완전히 덮어야 합니다.
AdView는 기본적으로 투명하게 표시되며, 필요에 따라 "더보기"나 "건너뛰기" 버튼 또는 오버레이 광고가 표시될 수 있습니다.
