Video Stitcher API를 사용하여 클라이언트 기기에 전달하기 전 Google Ad Manager에서 제공된 광고를 동적으로 삽입할 때마다 주문형 동영상(VOD) 세션을 만듭니다. 세션을 만들 때 응답에는 동영상에 삽입한 광고에 대한 재생 URL 및 정보가 포함됩니다.
이 페이지에서는 Google Ad Manager에서 활성화하는 VOD 세션을 만들고 관리하는 방법을 설명합니다. Google Ad Manager를 사용하지 않는 VOD 세션에 대한 자세한 내용은 VOD 세션 관리를 참조하세요.
시작하기 전에
- VOD 구성을 만듭니다. Google Ad Manager와 통합을 위해서는
gamVodConfig
객체가 설정되었는지 확인합니다.
세션 만들기
IMA SDK(Video Stitcher API 호출)를 사용하거나 Video Stitcher API를 직접 사용하여 VOD 세션을 만들 수 있습니다.
IMA SDK 사용
IMA SDK와 통합하는 경우 IMA SDK가 VOD 세션을 만듭니다.
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamManager.requestStream(streamRequest); }
Google Ad Manager에 의해 사용 설정된 VOD 세션은 클라이언트 측 광고 추적을 사용해야 합니다.
세션당 다음과 같은 선택적 파라미터를 설정하거나 재정의할 수 있습니다.
manifestOptions
: 병합된 동영상 매니페스트 및 렌디션의 순서에서 생성되는 동영상 렌더링을 지정합니다. 매니페스트 옵션 문서를 참조하세요.adTagMacroMap
: 광고 태그 매크로 바꾸기를 위한 키-값 쌍 목록입니다. 광고 태그 매크로 섹션을 참조하세요.
IMA SDK를 사용하여 이러한 파라미터를 설정하는 방법을 알아보려면 다음 섹션을 참조하세요.
선택적 파라미터 및 재정의
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamRequest.videoStitcherSessionOptions = { manifestOptions: { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" }, ], "bitrateOrder": "descending", }, "adTagMacroMap": { "my-key": "my-value" } }; streamManager.requestStream(streamRequest); }
API 직접 사용
광고 병합 동영상의 세션을 만들려면 projects.locations.vodSessions.create
메서드를 사용합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: IAM 설정 페이지에서 프로젝트 번호 필드에 있는 Google Cloud 프로젝트 번호입니다.LOCATION
: 세션을 만들 위치입니다. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
VOD_CONFIG_ID
: VOD 구성의 사용자 정의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "sessionContent": { "duration": "60s" } }, "playUri": "PLAY_URI", # This is the ad-stitched VOD URI "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
C#
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API C# API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Go API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Java API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Node.js API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API PHP API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Python API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Ruby API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Video Stitcher API는 각 요청에 대해 고유한 세션 ID를 생성합니다. 세션은 4시간 후에 만료됩니다.
응답은 다음과 비슷하게 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI", "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
응답은 다음 필드를 포함하는 VodSession
객체입니다.
- VOD SESSION_ID를 표시하는
name
필드입니다. 이 ID를 사용하여 세션을 가져옵니다. - 삽입된 광고에 대한 메타데이터가 포함된
interstitials
필드입니다(광고 메타데이터 개념 참조). - 클라이언트 기기가 조건부 동영상 애셋을 재생하기 위해 사용하는 URL을 보여주는
playUri
필드입니다.
고객의 기기 대신 세션을 생성하는 경우 HTTP 헤더를 사용하여 다음 파라미터를 설정합니다.
매개변수 | HTTP 헤더 |
---|---|
CLIENT_IP | x-user-ip |
REFERRER_URL | referer |
USER_AGENT | user-agent |
앞의 curl
요청에 다음 헤더를 추가할 수 있습니다.
-H "x-user-ip: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
광고 태그 매크로
광고 태그는 각 세션에 대해 서로 다른 광고 태그를 만들 수 있는 매크로를 포함할 수 있습니다. 매크로는 다음 예시에 표시된 것처럼 광고 태그에서 대괄호로 표시됩니다.
AD_TAG_URI¯o=[my-key]
adTagUri
는 라이브 구성에 정의됩니다.
광고 태그 매크로에서 값을 대체하려면 adTagMacroMap
필드에 매핑을 제공합니다. 예를 들어 [my-key]
매크로를 my-value
문자열로 바꾸려면 다음을 제공해야 합니다.
{ ... "adTagMacroMap": { "my-key": "my-value" }, ... }
Video Stitcher API가 광고 메타데이터를 요청할 때는 다음 광고 태그가 사용됩니다.
AD_TAG_URI¯o=my-value
세션 가져오기
광고 병합 동영상의 세션을 가져오려면 projects.locations.vodSessions.get
메서드를 사용합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_NUMBER
: IAM 설정 페이지에서 프로젝트 번호 필드에 있는 Google Cloud 프로젝트 번호입니다.LOCATION
: 세션의 위치입니다. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: VOD 세션의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI", "sourceUri": "VOD_URI", "adTagUri": "AD_TAG_URI", "assetId": "ASSET_ID", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID" }
C#
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API C# API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Go API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Java API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Node.js API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API PHP API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Python API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Video Stitcher API 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Video Stitcher API Ruby API 참고 문서를 확인하세요.
Video Stitcher API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정하세요. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
샘플 광고 병합 재생목록
다음은 광고 병합 전의 샘플 소스 VOD 재생목록을 보여줍니다.
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:4
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-ENDLIST
다음은 프리롤, 미드롤, 포스트롤 광고와 광고 병합을 수행한 후 샘플 소스 VOD 재생목록을 보여줍니다.
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:0.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-ENDLIST
클라이언트 측 광고 추적 처리
IMA SDK가 클라이언트 측 광고 추적을 자동으로 처리합니다.
Google Ad Manager에 의해 사용 설정된 라이브 세션 검사
이러한 세션의 VOD 세션 및 광고 태그 세부정보를 검사하려면 Ad Manager에서 스트림 활동 모니터링을 사용하세요.