Early ad break notification

Early Ad Break Notification API 사용

참고: 이 API는 아직 베타 버전입니다. EABN 프로그램에 대한 액세스를 요청하려면 계정 관리자에게 문의하세요.

EABN (Early Ad Break Notification) API를 사용하면 광고 시간이 시작되기 전에 메타데이터를 사용하여 예정된 광고 시간을 Google Ad Manager에 알릴 수 있습니다. 광고 시점 최대 1시간 전에 알림 요청을 보낼 수 있습니다. 이 가이드에서는 EABN API를 사용 설정하고 사용하는 방법과 요청 및 응답 샘플을 설명합니다.

주의: EABN 요청은 변경할 수 없으므로 중단을 만든 후에는 수정할 수 없습니다. 이후 동일한 이벤트에 대한 광고 시점 만들기 요청은 해당 광고 시점이 이벤트의 매니페스트에 표시될 때까지 거부됩니다.

EABN API 호출에는 다음 정보가 포함되어야 합니다.

  • 광고 시간이 생성되는 해당 라이브 스트림의 식별자입니다. 이 식별자는 다음 중 하나일 수 있습니다.
  • 라이브 스트림의 '애셋 키'입니다.
  • 라이브 스트림의 '맞춤 애셋 키'. 자체 식별자 문자열을 지정하여 자체 키 공간을 관리할 수 있습니다.
  • 라이브 스트림의 '콘텐츠 소스 ID' 및 '콘텐츠 ID'

참고: 이 식별자 유형을 사용하려면 사용 설정해야 합니다. 자세한 내용은 계정 관리자에게 문의하세요.

  • 다음 광고 시점의 예상 길이입니다. 재생 시간은 실제 광고 시점 길이와 최대한 유사해야 합니다.

이러한 필수 입력란 외에도 맞춤 타겟팅 매개변수, 적용할 광고 모음 템플릿의 이름 또는 SCTE35 큐 아웃 데이터(사용 가능한 경우)를 전송할 수도 있습니다.

기본 요건

EABN API를 사용하려면 서비스 계정을 만들고 Google Ad Manager 네트워크에 계정을 추가해야 합니다.

서비스 계정 만들기

EABN API 호출을 위한 서비스 계정을 만들려면 다음 단계를 완료하세요. - Google Cloud 계정이 있는 경우 IAM 모듈을 사용하여 서비스 계정을 만듭니다. 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요. - Google Cloud 계정이 없는 경우 다음 단계에 따라 Google API 콘솔에서 계정을 만드세요.

  1. 새 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
  2. 사용자 인증 정보 페이지에서 서비스 계정 관리를 클릭합니다.
  3. 서비스 계정 페이지에서 서비스 계정 만들기를 클릭합니다.
  4. 서비스 계정 만들기 페이지에서 계정 세부정보를 입력합니다. 그런 다음 만들기를 클릭합니다.

서비스 계정을 만든 후 인증에 사용되는 계정의 JSON 키를 복사합니다.

Google Ad Manager 네트워크에 서비스 계정 추가

네트워크에 서비스 계정을 추가하려면 API 액세스를 위한 서비스 계정 사용자 추가하기의 단계를 완료하세요.

API 사용 설정

서비스 계정을 만든 후에는 계정 관리자에게 다음 정보를 제공하여 계정에 API를 사용 설정하세요.

  • Google Cloud 계정 이메일 주소
  • 서비스 계정
  • Google Ad Manager 네트워크의 네트워크 코드입니다.

계정 관리자가 API를 사용 설정하면 다음 단계에 따라 API를 사용 설정합니다.

  1. Google API 라이브러리에서 'Google Ad Manager Video API'를 검색합니다.
  2. 사용 설정을 클릭합니다.

참고: API가 검색 결과에 표시되지 않는 경우 계정 관리자에게 문의하여 계정에서 DAI API를 사용하도록 설정되어 있는지 확인하세요.

API 사용

JSON/REST 요청을 사용하여 EABN API를 호출할 수 있습니다.

승인

EABN API를 승인된 호출을 수행하려면 서비스 계정 및 https://www.googleapis.com/auth/video-ads 범위의 JSON 키를 사용하여 OAuth2 서비스 계정 사용자 인증 정보를 생성해야 합니다. 자세한 내용은 서버 간 애플리케이션에서 OAuth 2.0 사용하기를 참고하세요.

EABN API를 호출할 때마다 결과로 생성되는 승인 토큰을 인증 헤더로 포함해야 합니다.

조기 광고 시점 알림 전송

조기 광고 시점 알림을 보내려면 선호하는 라이브 스트림 지정 방식에 따라 유효한 세 가지 EABN URL 중 하나로 POST 요청을 보내세요. 다음 섹션에서는 URL의 차이점을 설명하고 요청 및 응답의 예를 제공합니다.

URL

조기 광고 시점 알림에 유효한 URL은 3개입니다. 세 가지 유형을 모두 사용하여 광고 시점을 만들거나 (POST) 할당된 광고 시점 (GET) 목록을 가져올 수 있습니다.

라이브 스트림의 애셋 키를 사용하려면 다음을 사용하세요.

POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks

라이브 스트림의 맞춤 애셋 키를 사용하려면 다음을 사용하세요.

POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks

콘텐츠 소스 ID 및 Content ID 방식을 사용하려면 다음을 사용하세요.

POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks

모든 매개변수의 경우:

  • network_code는 Google Ad Manager 네트워크의 네트워크 코드를 나타냅니다.
  • asset_key는 라이브 스트림 세부정보 페이지에 표시되는 저작물 키를 나타냅니다.
  • custom_asset_key는 라이브 스트림의 맞춤 애셋 키를 나타냅니다.
  • content_source_id는 Google Ad Manager의 콘텐츠 소스 ID를 나타냅니다.
  • content_id는 Google Ad Manager 내 콘텐츠의 ID를 나타냅니다.

참고: 지정된 content_source_id/content_id 쌍은 Google Ad Manager의 실시간 스트림과 연결되어야 합니다.

요청 본문 - 광고 시점 (POST)을 만드는 데만 사용됨

객체

expectedDuration

필수 Google의 표준 재생 시간 형식을 사용한 이 광고 시점의 길이입니다 (xx.xxxs, 여기서 xx.xxx는 초 단위).

customParams

선택사항 AM360의 맞춤 기준 타겟팅에 대한 이 광고 시점의 광고 요청에 포함될 키-값 쌍으로,

=

및 님이 참여함

&

.
예:

key=value&key2=value2,value3


타겟팅에 대한 자세한 내용은 스트림에 타겟팅 매개변수 제공을 참조하세요.

podTemplateName

선택사항 광고 모음 템플릿 이름은

scte35CueOut

선택사항 scte35 큐 아웃에서 base64로 인코딩된 데이터입니다. 포함할 수 있는 항목:

splice_insert()

또는

time_signal()

만들 수 있습니다
예:

  • time_signal():

    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==

  • splice_insert():

    /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=

요청 예

광고 시점 만들기
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
    "expectedDuration": "30s",
    "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
    "customParams": "param1=value1&param2=value2",
    "podTemplateName": "podtemplate"
}
응답 본문

응답 본문에는 adBreak 객체에서 전송된 모든 매개변수와 더불어 생성된 광고 시점의 Google 전체 표준 ID가 포함된 추가 name 필드가 포함됩니다. 이 필드는 다음 형식으로 반환됩니다.

networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
응답 예
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
}
할당된 광고 시점 나열
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
응답 본문

응답 본문에는 스트림에 할당된 각 광고 시간을 위한 추가 breakState 필드와 함께 광고 시간이 포함됩니다. breakState 필드는 다음 값을 지원합니다.

 // Ad break decisioning has started.
BREAK_STATE_DECISIONED

// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
응답 예
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "breakState": "BREAK_STATE_COMPLETE"
}