API Notifikasi Jeda Iklan Awal DAI

Saat menggunakan platform DAI Google, Anda mungkin ingin memberikan data penargetan untuk jeda iklan live/linear berikutnya di streaming. Jeda Iklan Awal Notification (EABN) API memungkinkan Anda menerapkan penargetan khusus jeda pasangan nilai kunci, yang memberikan skalabilitas untuk pengambilan keputusan iklan dalam volume tinggi feed.

Panggilan yang dilakukan ke EABN API harus menyertakan kunci aset yang akan ditargetkan dan dari durasi jeda berikutnya. Durasi harus mendekati iklan yang sebenarnya jeda yang memungkinkan. Jika perkiraan durasi pengiriman lebih singkat dari jeda iklan yang diberikan, Jenis pengisian jeda iklan tidak terisi (default-nya adalah slate kosong) digunakan untuk sisa jeda. Jika perkiraan durasi pengiriman lebih lama daripada jeda iklan yang diberikan, jeda iklan Anda mungkin berakhir sebelum iklan selesai.

Selain kolom wajib diisi tersebut, Anda juga dapat mengirim penargetan kustom parameter, nama template pod iklan yang akan diterapkan, atau Data SCTE35 Cue Out, jika yang tersedia.

Prasyarat

Membuat akun layanan

Untuk mengakses EABN API, Anda memerlukan akun layanan Google.

  • Jika memiliki akun Google Cloud, Anda dapat menggunakan modul IAM untuk membuat akun layanan. Untuk informasi selengkapnya, lihat Membuat dan mengelola akun layanan.
  • Jika tidak memiliki akun Google Cloud, Anda dapat membuat akun layanan dari Konsol API Google, dengan mengikuti langkah-langkah berikut:
    1. Buat project baru atau pilih project yang sudah ada.
    2. Di halaman Credentials, klik Manage service accounts.
    3. Di halaman Service accounts, klik CREATE SERVICE ACCOUNT.
    4. Di halaman Create service account, masukkan detail akun. Selanjutnya klik CREATE.

Setelah Anda berhasil membuat akun layanan, salin JSON akun kunci, yang akan digunakan untuk otentikasi.

Mengaktifkan EABN API

Setelah akun layanan dibuat, minta Account Manager Anda untuk mengaktifkan EABN API untuk akun tersebut.

Mengaktifkan DAI API

Setelah EABN API diaktifkan untuk akun layanan Anda, aktifkan DAI API di akun:

  1. Di library Google API, cari “DAI API”.

  2. Pilih dan aktifkan DAI API.

Menggunakan EABN API

Anda dapat memanggil EABN API menggunakan permintaan JSON/REST.

Autentikasi

Untuk melakukan panggilan yang diautentikasi ke EABN API, Anda perlu membuat layanan OAuth2 kredensial akun menggunakan kunci JSON dari akun layanan Anda dan cakupannya https://www.googleapis.com/auth/video-ads. Untuk informasi selengkapnya, lihat Menggunakan OAuth 2.0 untuk Aplikasi Server ke Server.

Harus menyertakan token otentikasi yang dihasilkan sebagai header Auth untuk masing-masing ke EABN API.

Mengirim notifikasi jeda iklan awal

Untuk mengirim notifikasi jeda iklan awal, kirim permintaan POST menggunakan URL dan isi permintaan:

POST dai.googleapis.com/v1/adBreaks

Isi permintaan

Objek
adBreak Wajib Objek wrapper untuk properti adBreak
assetKey Wajib ID unik untuk LiveStreamEvent yang jeda dibuat
expectedDuration Wajib Durasi jeda iklan ini, menggunakan format durasi standar Google (xx.xxxs dengan xx.xxx adalah jumlah detik)
scte35CueOut Opsional Data yang dienkode Base-64 dari isyarat scte35 keluar. Dapat mencakup Perintah splice_insert() atau time_signal().
Contoh:
  • time_signal():
    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
  • splice_insert(): /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=
custParams Opsional Pasangan nilai kunci yang akan disertakan pada permintaan iklan untuk jeda ini untuk kustom penargetan kriteria di AM360, yang dipisahkan oleh = dan digabungkan dengan &.
Contoh:
key=value&key2=value2,value3
Untuk informasi selengkapnya tentang penargetan, lihat Penargetan suplai parameter ke aliran data Anda.
ptpln Opsional Nama template pod iklan

Header respons

HTTP/1.1 200 OK

Isi respons

Isi respons berisi semua parameter yang dikirim dalam objek adBreak, serta kolom daiBreakId tambahan, yang berisi DAI internal ID untuk jeda iklan yang dibuat dalam streaming.

Contoh

Permintaan

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

Respons

HTTP/1.1 200 OK

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

Implementasi sampel (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)