이 가이드에서는 IMA DAI SDK를 동영상 플레이어 앱에 통합하는 방법을 보여줍니다. 완료된 샘플 통합을 보거나 따라 하려면 GitHub에서 간단한 예를 다운로드하세요.
IMA DAI 개요
IMA DAI SDK를 구현하려면 이 가이드의 설명대로 두 가지 주요 구성요소가 필요합니다.
StreamRequest(VODStreamRequest또는LiveStreamRequest): 스트림 요청을 정의하는 객체입니다. 스트림 요청은 VOD 또는 라이브 스트림에 대한 요청일 수 있습니다. 라이브 스트림 요청은 애셋 키를 지정하는 반면 VOD 요청은 CMS ID와 동영상 ID를 지정합니다. 두 요청 유형 모두 선택적으로 지정된 스트림에 액세스하는 데 필요한 API 키와 IMA SDK가 Google Ad Manager 설정에 지정된 대로 광고 식별자를 처리하는 데 필요한 Google Ad Manager 네트워크 코드를 포함할 수 있습니다.StreamManager: 동적 광고 삽입 스트림 및 DAI 백엔드와의 상호작용을 처리하는 객체입니다. 스트림 관리자는 추적 핑을 처리하고 스트림 및 광고 이벤트를 게시자에게 전달합니다.
기본 요건
- 빈 파일 3개
- dai.html
- dai.css
- dai.js
- 컴퓨터에 설치된 Python 또는 테스트에 사용할 웹 서버
개발 서버 시작하기
IMA DAI SDK는 로드되는 페이지와 동일한 프로토콜을 사용하여 종속 항목을 로드하므로 웹 서버를 사용하여 앱을 테스트해야 합니다. 로컬 개발 서버를 시작하는 빠른 방법은 Python의 기본 제공 서버를 사용하는 것입니다.
명령줄을 사용하여
index.html파일이 포함된 디렉터리에서 다음을 실행합니다.python -m http.server 8000웹브라우저에서
http://localhost:8000/으로 이동합니다.Apache HTTP 서버와 같은 기타 웹 서버도 사용할 수 있습니다.
동영상 플레이어 만들기
먼저 dai.html을 수정하여 HTML5 동영상 요소와 클릭연결에 사용할 div를 만듭니다. 다음 예에서는 IMA DAI SDK를 가져옵니다. 자세한 내용은 IMA DAI SDK 가져오기를 참고하세요.
또한 dai.css 및 dai.js 파일을 로드하고 hls.js 동영상 플레이어를 가져오는 데 필요한 태그를 추가합니다. 그런 다음 dai.css를 수정하여 페이지 요소의 크기와 위치를 지정합니다.
마지막으로 dai.js에서 스트림 요청 정보를 보유할 변수, 페이지가 로드될 때 실행할 initPlayer() 함수를 정의하고 클릭 시 스트림을 요청하도록 재생 버튼을 설정합니다.
일시중지 상태 광고 시점 중에 재생을 재개하려면 동영상 요소의 pause 및 start 이벤트에 대한 이벤트 리스너를 설정하여 재생 컨트롤을 표시하고 숨깁니다.
IMA DAI SDK 로드
그런 다음 dai.html에서 dai.js 태그 앞에 스크립트 태그를 사용하여 IMA 프레임워크를 추가합니다.
StreamManager 초기 설정
광고 세트를 요청하려면 DAI 스트림을 요청하고 관리하는 ima.dai.api.StreamManager를 만듭니다. 생성자는 광고 클릭을 처리하기 위해 동영상 요소와 광고 UI 요소를 사용합니다.
스트림 요청하기
스트림을 요청하는 함수를 정의합니다. 이 예에는 VODStreamRequest 클래스와 LiveStreamRequest 클래스의 인스턴스를 만드는 VOD 및 라이브 스트림의 함수가 포함되어 있습니다. streamRequest 인스턴스가 있으면 스트림 요청 인스턴스로 streamManager.requestStream() 메서드를 호출합니다.
두 스트림 요청 메서드 모두 선택적 API 키를 사용합니다. 보호된 스트림을 사용하는 경우 DAI 인증 키를 만들어야 합니다. 자세한 내용은 DAI 동영상 스트림 요청 인증을 참고하세요.
이 예시의 스트림은 DAI 인증 키를 사용하여 보호되지 않으므로 apiKey가 사용되지 않습니다.
스트림 메타데이터 파싱
또한 시간 제한 메타데이터 이벤트를 수신 대기하고 광고 시점 동안 IMA가 광고 이벤트를 내보내도록 이벤트를 StreamManager 클래스로 전달하는 핸들러를 추가해야 합니다.
이 가이드에서는 스트림 재생에 hls.js 플레이어를 사용하지만 메타데이터 구현은 사용하는 플레이어 유형에 따라 다릅니다.
스트림 이벤트 처리
주요 동영상 이벤트에 대한 이벤트 리스너를 구현합니다. 이 예시에서는 onStreamEvent() 함수를 호출하여 LOADED, ERROR, AD_BREAK_STARTED, AD_BREAK_ENDED 이벤트를 처리합니다. 이 함수는 IMA SDK에 필요한 스트림 로드, 스트림 오류, 광고 재생 중 재생 컨트롤 사용 중지를 처리합니다.
스트림이 로드되면 동영상 플레이어는 loadUrl() 함수를 사용하여 제공된 URL을 로드하고 재생합니다.
작업이 끝났습니다. 이제 IMA DAI SDK를 사용하여 광고를 요청하고 표시할 수 있습니다. 고급 SDK 기능에 대해 자세히 알아보려면 다른 가이드 또는 GitHub의 샘플을 참고하세요.