Early ad break notification v1

Early Ad Break Notification API 사용

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

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

  • 다음 광고 시점의 예상 기간입니다. 재생 시간은 실제 광고 시점 길이에 최대한 가깝게 설정해야 합니다.

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

기본 요건

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를 승인된 방식으로 호출하려면 서비스 계정의 JSON 키와 범위 https://www.googleapis.com/auth/video-ads를 사용하여 OAuth2 서비스 계정 사용자 인증 정보를 생성해야 합니다. 자세한 내용은 서버 간 애플리케이션에서 OAuth 2.0 사용하기를 참고하세요.

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

조기 광고 시점 알림 보내기

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

URL

조기 광고 시점 알림에는 세 가지 유효한 URL이 있습니다. 세 가지 유형을 모두 사용하여 광고 시점 (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"
}