DAI 조기 광고 시점 알림 API

Google DAI 플랫폼을 사용하는 경우 스트림에서 다음번 실시간/선형 광고 시점입니다. 조기 광고 시점 Notification (EABN) API를 사용하면 키-값 쌍으로, 대용량 광고 결정을 위한 확장성을 제공합니다 있습니다.

EABN API 호출에는 타겟팅할 애셋 키와 다시 시작됩니다. 재생 시간은 실제 광고와 비슷해야 함 브레이크 길이를 가능한 한 많이 유지합니다. 전송된 예상 시간이 제공된 광고 시점 미달게재 광고 시점 채우기 유형 (기본값은 빈 슬레이트로 설정됨)의 나머지 광고 시간에 사용됩니다. 만약 전송된 예상 재생 시간이 제공된 광고 시점보다 긴 경우 광고 시간이 종료되어야 합니다.

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

기본 요건

서비스 계정 만들기

EABN API에 액세스하려면 Google 서비스 계정이 필요합니다.

  • Google Cloud 계정이 있다면 IAM 모듈을 사용하여 서비스 계정을 만들 수 있습니다 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.
  • Google Cloud 계정이 없는 경우 서비스 계정을 만들 수 있습니다. Google API 콘솔에서 방법은 다음과 같습니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 새 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
    2. 사용자 인증 정보 페이지에서 서비스 계정 관리를 클릭합니다.
    3. 서비스 계정 페이지에서 서비스 계정 만들기를 클릭합니다.
    4. 서비스 계정 만들기 페이지에서 계정 세부정보를 입력합니다. 그런 다음 만들기를 클릭합니다.

서비스 계정을 만든 후 계정의 JSON을 복사합니다. 키이며, 인증에 사용됩니다.

EABN API 사용 설정

서비스 계정이 생성되면 계정 관리자에게 사용 설정을 요청하세요. EABN API를 사용할 수 있습니다.

DAI API 사용 설정

서비스 계정에 EABN API가 사용 설정되면 DAI API를 사용 설정합니다. 계정에 적용됩니다.

  1. Google API 라이브러리에서 'DAI API'를 검색합니다.

  2. DAI API를 선택하고 사용 설정합니다.

EABN API 사용

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

인증

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

은(는) 각 EABN API 호출

조기 광고 시점 알림 전송

조기 광고 시점 알림을 보내려면 다음을 사용하여 POST 요청을 보내세요. URL 및 요청 본문:

POST dai.googleapis.com/v1/adBreaks

요청 본문

객체
adBreak 필수 adBreak 속성의 래퍼 객체
assetKey 필수 LiveStreamEvent의 고유 식별자입니다. 광고 시점이 생성됨
expectedDuration 필수 광고 시점의 길이로, Google의 표준 재생 시간 형식을 사용합니다. (xx.xxxs, 여기서 xx.xxx는 초 수)
scte35CueOut 선택사항 scte35 큐 아웃에서 base64로 인코딩된 데이터입니다. 포함할 수 있는 항목: splice_insert() 또는 time_signal() 명령어
예: <ph type="x-smartling-placeholder">
    </ph>
  • time_signal():
    <ph type="x-smartling-placeholder">/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==</ph>
  • splice_insert(): /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=
custParams 선택사항 이 맞춤 광고에 대한 광고 요청에 포함될 키-값 쌍 AM360의 기준 타겟팅으로, =으로 구분되고 다음으로 결합됨 &.
예:
key=value&key2=value2,value3
타겟팅에 대한 자세한 내용은 공급 타겟팅 매개변수를 스트림에 추가하세요.
ptpln 선택사항 광고 모음 템플릿 이름은

응답 헤더

HTTP/1.1 200 OK

응답 본문

응답 본문에는 adBreak 객체에서 전송된 모든 매개변수가 포함됩니다. 내부 DAI가 포함된 추가 daiBreakId 필드 스트림 내에서 생성된 광고 시점의 식별자입니다.

요청

POST /v1/adBreaks HTTP/1.1
Content-Type: application/json

{
  "adBreak": {
    "assetKey": "asset1",
    "expectedDuration": "30s",
    "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
    "custParams": "param1=value1&param2=value2",
    "ptpln": "podtemplate"
  }
}

응답

HTTP/1.1 200 OK

{
  "assetKey": "asset1",
  "expectedDuration": "30s",
  "custParams": "param1=value1&param2=value2",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "ptpln": "podtemplate",
  "daiBreakId": 1
}

샘플 구현 (Python)

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from absl import app

from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account

SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"

SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'


def main():
  credentials = service_account.Credentials.from_service_account_file(
      SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)

  authed_session = AuthorizedSession(credentials)

  data = {
      'assetKey': ASSET_KEY,
      'expectedDuration': '120s',
      'custParams': 'param1=value1&param2=value2',
      'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
  }

  r = authed_session.post(EABN_API_URL, json={'adBreak': data})
  print(r.status_code)
  print(r.headers)
  print(r.text)

if __name__ == '__main__':
  app.run(main)