이 가이드에서는 광고 모음 세그먼트 메서드를 사용하여 광고 또는 슬레이트 세그먼트를 요청하도록 매니페스트 조작기를 구성하는 방법을 설명합니다.
스트리밍 프로토콜을 선택합니다.
기본 요건
계속하기 전에 광고 모음 게재 리디렉션 동적 광고 삽입 (DAI) 유형 및 인코딩 프로필의 실시간 스트림 이벤트를 설정해야 합니다. 실시간 스트림 이벤트를 설정하려면 다음 방법 중 하나를 선택하세요.
- Ad Manager UI: DAI의 라이브 스트림을 설정합니다.
- Ad Manager API: 클라이언트 라이브러리를 사용하여
LiveStreamEventService.createLiveStreamEvents메서드를 호출합니다.LiveStreamEvent.dynamicAdInsertionType매개변수를POD_SERVING_REDIRECT로 설정합니다. - 요청 인증: 세그먼트 리디렉션 모음 게재를 사용하여 이루어진 각 세그먼트 요청에는 인증을 위한 HMAC 서명 토큰이 포함되어야 합니다. 광고 시점당 한 번 이 토큰을 계산하고 모든 스트림 세션에서 토큰을 공유합니다. HMAC 토큰을 계산하려면 광고 모음 요청 인증을 참고하세요.
실시간 스트림 이벤트를 설정한 후 Ad Manager UI 또는 API에서 이벤트의 인코딩 프로필을 가져옵니다.
호출하여
DaiEncodingProfileService.getDaiEncodingProfilesByStatement
메서드.
콘텐츠 스트림 가져오기
사용자가 라이브 스트림 이벤트를 선택하면 클라이언트 앱이 Google Ad Manager에 스트림 요청을 합니다. 스트림 응답에서 앱은 스트림 매니페스트 요청에 포함할 Google DAI 세션 ID와 메타데이터를 추출합니다.
다음 예에서는 Google DAI 세션 ID를 매니페스트 조작기에 전달합니다.
https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY
동영상 콘텐츠 재생 요청을 처리할 때 광고 스티칭을 준비하기 위해 요청에서 Google DAI 세션 ID와 CUSTOM_ASSET_KEY를 저장합니다.
광고 시점 세그먼트 식별 및 불연속성 삽입
각 변형 매니페스트를 처리할 때 스트림에서 광고 시점의 시작과 끝을 나타내는 EXT-X-CUE-IN 및 EXT-X-CUE-OUT 태그를 식별합니다.
클라이언트 동영상 플레이어가 콘텐츠와 광고 간에 전환할 수 있도록 EXT-X-CUE-IN 및 EXT-X-CUE-OUT 태그를 EXT-X-DISCONTINUITY 요소로 바꿉니다.
다음 예시 매니페스트는 EXT-X-CUE-IN 및 EXT-X-CUE-OUT 태그를 대체합니다.
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
다음 예에서는 대체된 매니페스트를 보여줍니다.
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
Google DAI 광고 세그먼트는 암호화되지 않습니다. 콘텐츠가 암호화된 경우 각 광고 시점의 첫 번째 광고 세그먼트 앞에 EXT-X-KEY:METHOD=NONE 요소를 삽입하여 암호화를 삭제합니다. 광고 시점이 끝나면 적절한 EXT-X-KEY를 삽입하여 암호화를 다시 추가합니다.
게재 예정 광고 시점의 시작 시간, 재생 시간, 색인을 추적합니다.
광고 세그먼트 URL 빌드
EXT-X-DISCONTINUITY 태그 사이의 각 콘텐츠 세그먼트를 광고 모음 세그먼트 메서드를 가리키는 URL로 바꿉니다.
다음 예에서는 광고 모음 세그먼트를 어셈블합니다. 광고 세그먼트는 0부터 시작하는 색인을 사용합니다.
https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC
다음 예에서는 광고 모음 세그먼트를 매니페스트에 삽입합니다.
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4
선택사항: 광고 시점 예약
유효노출률을 높이려면 광고 모음 재생 시간, 맞춤 타겟팅 매개변수, SCTE-35 신호 데이터와 함께 조기 광고 시점 알림 (EABN)을 전송합니다. 자세한 내용은 조기 광고 시점 알림 전송을 참고하세요.