Early ad break notification

Menggunakan Early Ad Break Notification API

Catatan: API ini masih dalam versi beta. Hubungi Account Manager Anda jika ingin meminta akses ke program EABN.

Early Ad Break Notification (EABN) API memungkinkan Anda memberi tahu Google Ad Manager tentang jeda iklan mendatang dengan metadatanya sebelum jeda iklan dimulai. Anda dapat mengirim permintaan notifikasi hingga satu jam sebelum jeda iklan. Panduan ini menjelaskan cara mengaktifkan dan menggunakan EABN API, serta contoh permintaan dan respons.

Perhatian: Permintaan EABN tidak dapat diubah, jadi setelah jeda dibuat, permintaan tersebut tidak dapat diubah. Permintaan selanjutnya untuk membuat jeda iklan bagi peristiwa yang sama akan ditolak hingga jeda iklan muncul di manifes untuk peristiwa tersebut.

Panggilan yang dilakukan ke EABN API harus menyertakan informasi berikut:

  • ID live stream yang sesuai tempat jeda iklan dibuat. ID ini dapat berupa salah satu dari hal berikut:
  • "Kunci Aset" dari live stream.
  • “Kunci Aset Kustom” untuk live stream, yang memungkinkan Anda mengelola ruang kunci Anda sendiri dengan menentukan string ID Anda sendiri.
  • “Content Source ID” dan “Content ID” untuk live stream.

Catatan: Anda harus memiliki izin untuk menggunakan jenis ID ini. Untuk informasi selengkapnya, hubungi Account Manager Anda.

  • Perkiraan durasi jeda iklan berikutnya. Durasi harus sedekat mungkin dengan panjang jeda iklan yang sebenarnya.

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

Prasyarat

Untuk menggunakan EABN API, Anda harus membuat akun layanan dan menambahkan akun tersebut ke jaringan Google Ad Manager Anda.

Membuat akun layanan

Guna membuat akun layanan untuk memanggil EABN API, selesaikan langkah-langkah berikut: - Jika Anda memiliki akun Google Cloud, gunakan modul IAM untuk membuat akun layanan. Untuk informasi selengkapnya, lihat Membuat dan mengelola akun layanan. - Jika Anda belum memiliki akun Google Cloud, selesaikan langkah-langkah berikut untuk membuatnya dari Konsol API Google:

  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. Lalu klik CREATE.

Setelah Anda membuat akun layanan, salin kunci JSON akun tersebut, yang digunakan untuk autentikasi.

Menambahkan akun layanan ke jaringan Google Ad Manager Anda

Untuk menambahkan akun layanan ke jaringan Anda, selesaikan langkah-langkah di Menambahkan pengguna akun layanan untuk akses API.

Mengaktifkan API

Setelah membuat akun layanan, berikan informasi berikut kepada Account Manager Anda untuk mengaktifkan API bagi akun Anda:

  • Alamat email Akun Google Cloud Anda
  • Akun layanan Anda
  • Kode Jaringan untuk Jaringan Google Ad Manager Anda.

Setelah API diaktifkan oleh Account Manager Anda, selesaikan langkah-langkah berikut untuk mengaktifkan API:

  1. Di library Google API, telusuri “Google Ad Manager Video API”.
  2. Klik ENABLE.

Catatan: Jika API tidak muncul di hasil penelusuran, hubungi Account Manager Anda untuk mengonfirmasi bahwa akun Anda telah diaktifkan untuk DAI API.

Menggunakan API

Anda dapat memanggil EABN API menggunakan permintaan JSON/REST.

Otorisasi

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

Anda harus menyertakan token otorisasi yang dihasilkan sebagai header Auth untuk setiap panggilan ke EABN API.

Mengirim notifikasi jeda iklan awal

Untuk mengirim notifikasi jeda iklan awal, kirim permintaan POST ke salah satu dari tiga URL EABN yang valid, bergantung pada cara yang Anda pilih untuk menentukan live stream. Bagian berikut menjelaskan perbedaan antara URL tersebut serta memberikan contoh permintaan dan respons.

URL

Ada tiga URL yang valid untuk notifikasi jeda iklan awal. Anda dapat menggunakan ketiga jenis tersebut untuk membuat jeda iklan (POST) atau mendapatkan daftar jeda iklan yang ditetapkan (GET).

Untuk menggunakan kunci aset live stream, gunakan:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks

Untuk menggunakan kunci aset kustom live stream, gunakan:

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

Untuk menggunakan pendekatan Content Source ID dan Content ID, gunakan:

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

Untuk semua parameter:

  • network_code adalah kode jaringan dari jaringan Google Ad Manager Anda.
  • asset_key adalah kunci aset yang ditampilkan di halaman detail live stream Anda.
  • custom_asset_key merepresentasikan kunci aset kustom live stream Anda.
  • content_source_id mewakili ID sumber konten di Google Ad Manager.
  • content_id mewakili ID bagian konten di Google Ad Manager.

Catatan: Pasangan content_source_id/content_id yang ditentukan harus dikaitkan dengan live stream di Google Ad Manager.

Isi permintaan - hanya digunakan untuk membuat Jeda Iklan (POST)

Objek

expectedDuration

Wajib Durasi jeda iklan ini, menggunakan format durasi standar Google (xx.xxxs dengan xx.xxx adalah jumlah detik)

customParams

Opsional Pasangan nilai kunci yang akan disertakan pada permintaan iklan untuk jeda ini bagi penargetan kriteria kustom di AM360, yang dipisahkan oleh

=

dan digabungkan dengan

&

.
Contoh:

key=value&key2=value2,value3


Untuk informasi selengkapnya tentang penargetan, lihat Menyediakan parameter penargetan ke streaming Anda.

podTemplateName

Opsional Nama template pod iklan

scte35CueOut

Opsional Data yang dienkode Base-64 dari isyarat scte35 keluar. Dapat mencakup

splice_insert()

atau

time_signal()

perintah.
Contoh:

  • time_signal():

    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==

  • splice_insert():

    /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=

Contoh permintaan

Membuat Jeda Iklan
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"
}
Isi respons

Isi respons berisi semua parameter yang dikirim dalam objek adBreak, serta kolom name tambahan, yang berisi ID standar seluruh Google dari jeda iklan yang dibuat. Kolom ini ditampilkan dalam format berikut:

networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Contoh respons
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
}
Daftar Jeda Iklan yang ditetapkan
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
Isi respons

Isi respons berisi jeda iklan dengan kolom breakState tambahan untuk setiap jeda iklan yang ditetapkan ke streaming. Kolom breakState mendukung nilai berikut:

 // Ad break decisioning has started.
BREAK_STATE_DECISIONED

// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Contoh respons
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "breakState": "BREAK_STATE_COMPLETE"
}