API thông báo điểm chèn quảng cáo sớm của DAI

Khi sử dụng nền tảng DAI của Google, bạn có thể muốn cung cấp dữ liệu nhắm mục tiêu cho điểm chèn quảng cáo tuyến tính/trực tiếp sắp tới trong luồng phát. Điểm chèn quảng cáo sớm Notification (EABN) API cho phép bạn triển khai tiêu chí nhắm mục tiêu theo điểm chèn bằng cách sử dụng cặp khoá-giá trị, cho phép khả năng mở rộng để đưa ra quyết định về quảng cáo một cách khối lượng lớn phát trực tuyến.

Các lệnh gọi đến EABN API phải bao gồm khoá thành phần để nhắm mục tiêu và thời lượng của điểm chèn tiếp theo. Thời lượng phải gần với quảng cáo thực tế thời lượng chèn quảng cáo nhiều nhất có thể. Nếu thời lượng dự kiến gửi ngắn hơn điểm chèn quảng cáo đã cung cấp, Loại lấp đầy điểm chèn quảng cáo còn trống (mặc định là phương tiện chặn trống) được sử dụng cho phần còn lại của điểm chèn quảng cáo. Nếu thời lượng dự kiến đã gửi dài hơn điểm chèn quảng cáo đã cung cấp, thì điểm chèn quảng cáo của bạn có thể kết thúc trước khi quảng cáo hoàn tất.

Ngoài các trường bắt buộc này, bạn cũng có thể gửi tiêu chí nhắm mục tiêu tuỳ chỉnh thông số, tên của mẫu nhóm quảng cáo cần áp dụng, hoặc Dữ liệu SCTE35 dựa trên gợi ý, nếu sẵn có.

Điều kiện tiên quyết

Tạo một tài khoản dịch vụ

Để truy cập vào API EABN, bạn cần có một tài khoản dịch vụ của Google.

  • Nếu có tài khoản Google Cloud, bạn có thể sử dụng mô-đun IAM để tạo tài khoản dịch vụ của bạn. Để biết thêm thông tin, hãy xem Tạo và quản lý tài khoản dịch vụ.
  • Nếu chưa có tài khoản Google Cloud, bạn có thể tạo một tài khoản dịch vụ từ Bảng điều khiển API của Google, bằng cách làm theo các bước sau:
    1. Tạo dự án mới hoặc chọn dự án hiện có.
    2. Trong trang Thông tin đăng nhập, hãy nhấp vào Quản lý tài khoản dịch vụ.
    3. Trên trang Tài khoản dịch vụ, hãy nhấp vào TẠO TÀI KHOẢN DỊCH VỤ.
    4. Trên trang Tạo tài khoản dịch vụ, hãy nhập thông tin tài khoản. Sau đó nhấp vào TẠO.

Sau khi bạn tạo thành công tài khoản dịch vụ, hãy sao chép tệp JSON của tài khoản đó khoá này để dùng cho việc xác thực.

Bật EABN API

Sau khi tạo tài khoản dịch vụ, hãy yêu cầu người quản lý tài khoản bật API EABN cho tài khoản đó.

Bật API DAI

Sau khi đã bật API EABN cho tài khoản dịch vụ của bạn, hãy bật API DAI trên tài khoản:

  1. Trong thư viện API của Google, hãy tìm kiếm “DAI API”.

  2. Chọn và bật API DAI.

Sử dụng API EABN

Bạn có thể gọi API EABN bằng yêu cầu JSON/REST.

Xác thực

Để thực hiện các lệnh gọi đã xác thực đến API EABN, bạn cần tạo dịch vụ OAuth2 thông tin đăng nhập tài khoản bằng khoá JSON từ tài khoản dịch vụ của bạn và phạm vi https://www.googleapis.com/auth/video-ads. Để biết thêm thông tin, hãy xem Sử dụng OAuth 2.0 cho ứng dụng từ máy chủ đến máy chủ.

Phải bao gồm mã thông báo xác thực kết quả dưới dạng tiêu đề Xác thực cho mỗi đến API EABN.

Gửi thông báo chèn quảng cáo sớm

Để gửi thông báo chèn quảng cáo sớm, hãy gửi yêu cầu POST bằng cú pháp sau URL và nội dung yêu cầu:

POST dai.googleapis.com/v1/adBreaks

Nội dung yêu cầu

Đối tượng
adBreak Bắt buộc Đối tượng trình bao bọc cho các thuộc tính adBreak
assetKey Bắt buộc Giá trị nhận dạng duy nhất của LiveStreamEvent mà điểm chèn quảng cáo được tạo
expectedDuration Bắt buộc Thời lượng của điểm chèn quảng cáo này, sử dụng định dạng thời lượng chuẩn của Google (xx.xxx trong đó xx.xxx là số giây)
scte35CueOut Không bắt buộc Dữ liệu được mã hoá theo chuẩn Base-64 từ điểm bắt đầu ra scte35. Có thể bao gồm Lệnh splice_insert() hoặc time_signal().
Ví dụ:
  • time_signal():
    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
  • splice_insert(): /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=
custParams Không bắt buộc Cặp khoá-giá trị sẽ được đưa vào yêu cầu quảng cáo cho điểm chèn quảng cáo tuỳ chỉnh theo tiêu chí nhắm mục tiêu trong AM360, được phân tách bằng = và được kết hợp bằng &.
Ví dụ:

key=value&key2=value2,value3 Để biết thêm thông tin về cách nhắm mục tiêu, hãy xem Nhắm mục tiêu theo cung cấp vào luồng của bạn.
ptpln Không bắt buộc Tên mẫu nhóm quảng cáo

Tiêu đề phản hồi

HTTP/1.1 200 OK

Nội dung phản hồi

Nội dung phản hồi chứa tất cả các tham số được gửi trong đối tượng adBreak, cũng như một trường daiBreakId bổ sung có chứa DAI nội bộ giá trị nhận dạng cho điểm chèn quảng cáo được tạo trong luồng.

Ví dụ:

Yêu cầu

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"
  }
}

Phản hồi

HTTP/1.1 200 OK

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

Triển khai mẫu (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)