설계
셋톱박스(STB) 기반 방송 서비스에서 위성(DTH) 또는 IPTV 멀티캐스트 스트림에 광고를 삽입하는 아키텍처입니다. TV 앱과 함께 디바이스에서 구동되는 Ad Agent 프로세스를 포함합니다.
프로젝트 설정
build.gradle
초기화 및 해제
SDK를 사용하려면 TV 앱 시작과 동시에 SDK 초기화 함수를 호출해야 합니다.
내장 광고 플레이어
서브모듈 player(sdk-multicast-exoplayer)을 사용할 때 내장되는 광고 플레이어에 대한 설명입니다.
광고 레이어 추가
설계 페이지의 비디오 레이어 구조를 참고하여 실시간 방송 레이어와 TV UI 레이어 사이에 tv.anypoint.api.ads.AnypointAdView를 추가합니다.
광고 이벤트 수신
SDK는 Ad Agent로부터 광고 이벤트를 수신 받아 AdsManagerListener에 이벤트를 전달합니다.
서브 모듈 라이프사이클 이벤트 수신
각 서브 모듈의 라이프사이클에 따른 이벤트를 수신해야 하는 경우 SdkModuleLifecycleListener를 구현하면 됩니다. 사용 가능한 서브 모듈은 아래와 같습니다.
TV 이벤트 전달
SDK가 TV 앱의 현재 상태에 따라 적절히 대응할 수 있도록 TV 앱은 자신의 상태가 변경될 때마다 해당 상태에 맞는 이벤트를 SDK에 반드시 전달해야 합니다. 예를 들어 개인화 광고 재생 도중에 재생을 중단하는 경우 또는 시청자가 실시간 TV 시청을 종료하는 경우가 여기에 해당합니다.
커스텀 광고 플레이어
SDK를 통합하여 광고를 운영하는 가장 쉬운 방법은 모든 제어를 SDK에 위임하는 것이지만, 이 섹션에서는 TV 앱이 이미 구현한 비디오 플레이어를 사용하여 광고를 재생하는 방법에 대해 설명합니다.
커스텀 광고 플레이어 예시
AnypointAdPlayer 클래스와 커스텀 광고 플레이어를 직접 구현하는 것은 권장하는 방법이 아닙니다. 이 방식은 TV 앱이 이미 구현한 비디오 플레이어가 있거나, 하드웨어 성능을 맞추거나, 혹은 다른 사용자 경험을 추가로 제공하려는 경우에 유용합니다.
SCTE-35 디코더 사용
실시간 채널 스트림에 SCTE-35 패킷이 삽입되는 경우, 해당 패킷을 파싱하는 내장된 디코더를 등록하여 사용할 수 있습니다.
테스트 방법
광고 SDK를 사용하여 작업을 마친 후 정상적으로 구현이 되었는지 확인하기 위해서는 테스트가 필요합니다.
릴리즈 노트
2 항목