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:
- Buat project baru atau pilih project yang sudah ada.
- Di halaman Credentials, klik Manage service accounts.
- Di halaman Service accounts, klik CREATE SERVICE ACCOUNT.
- 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:
Di library Google API, cari “DAI API”.
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:
|
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¶m2=value2",
"ptpln": "podtemplate"
}
}
Respons
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=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¶m2=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)