DAI Erken Reklam Arası Bildirimi API'si

Google DAI platformunu kullanırken, bir akışta yaklaşan canlı/doğrusal reklam arası için hedefleme verileri sağlamak isteyebilirsiniz. Erken Reklam Arası Bildirimi (EABN) API, yüksek hacimli akışlarda reklam kararı için ölçeklenebilirlik sağlayan anahtar/değer çiftlerini kullanarak araya özel hedefleme uygulamanıza olanak tanır.

EABN API'ye yapılan çağrılar, hedeflenecek öğe anahtarını ve bir sonraki aranın beklenen süresini içermelidir. Süre, gerçek reklam arası uzunluğuna olabildiğince yakın olmalıdır. Gönderilen beklenen süre, sağlanan reklam arasından daha kısaysa aranın geri kalanı için Gereğinden az doldurulan reklam arası dolgu türü (varsayılan olarak boş seçenek listesidir) kullanılır. Gönderilen beklenen süre, sağlanan reklam arasından uzunsa reklam aranız reklam tamamlanmadan önce sona erebilir.

Bu zorunlu alanlara ek olarak özel hedefleme parametreleri, uygulanacak reklam kapsülü şablonunun adını veya varsa SCTE35 Cue Out verilerini de gönderebilirsiniz.

Ön koşullar

Hizmet hesabı oluşturma

EABN API'ye erişmek için Google hizmet hesabına ihtiyacınız vardır.

  • Google Cloud hesabınız varsa hizmet hesabı oluşturmak için IAM modülünü kullanabilirsiniz. Daha fazla bilgi için Hizmet hesapları oluşturma ve yönetme başlıklı makaleye bakın.
  • Google Cloud hesabınız yoksa aşağıdaki adımları uygulayarak Google API Konsolu'ndan hizmet hesabı oluşturabilirsiniz:
    1. Yeni bir proje oluşturun veya mevcut bir projeyi seçin.
    2. Kimlik bilgileri sayfasında Hizmet hesaplarını yönet'i tıklayın.
    3. Hizmet hesapları sayfasında HİZMET HESABI OLUŞTUR'u tıklayın.
    4. Hizmet hesabı oluştur sayfasında hesap ayrıntılarını girin. Ardından OLUŞTUR'u tıklayın.

Bir hizmet hesabını başarıyla oluşturduktan sonra, hesabın kimlik doğrulama için kullanılacak JSON anahtarını kopyalayın.

EABN API'yi etkinleştirin

Hizmet hesabınız oluşturulduktan sonra hesap yöneticinizden bu hesap için EABN API'yi etkinleştirmesini isteyin.

DAI API'sini etkinleştirme

Hizmet hesabınız için EABN API etkinleştirildikten sonra hesapta DAI API'yi etkinleştirin:

  1. Google API kitaplığında "DAI API" ifadesini arayın.

  2. DAI API'sini seçip etkinleştirin.

EABN API'sini kullanma

JSON/REST isteklerini kullanarak EABN API'yi çağırabilirsiniz.

Kimlik doğrulama

EABN API'ye kimliği doğrulanmış çağrı yapmak için hizmet hesabınızdaki JSON anahtarını ve https://www.googleapis.com/auth/video-ads kapsamını kullanarak OAuth2 hizmet hesabı kimlik bilgileri oluşturmanız gerekir. Daha fazla bilgi için Sunucudan Sunucuya Uygulamalar için OAuth 2.0'ı Kullanma bölümüne bakın.

Bu kod, EABN API'ye yapılan her çağrı için Auth başlığı olarak elde edilen kimlik doğrulama jetonunu içermelidir.

Erken reklam arası bildirimi gönderme

Erken reklam arası bildirimi göndermek için aşağıdaki URL'yi ve istek gövdesini kullanarak bir POST isteği gönderin:

POST dai.googleapis.com/v1/adBreaks

İstek içeriği

Nesne
adBreak Gerekli adBreak mülkleri için sarmalayıcı nesnesi
assetKey Gerekli Aranın oluşturulduğu LiveStreamEvent için benzersiz bir tanımlayıcı
expectedDuration Gerekli Google'ın standart süre biçimi (xx.xxx'in saniye sayısı olduğu xx.xxxs) kullanılarak bu reklam arasının süresi.
scte35CueOut İsteğe bağlı Scte35 işaret noktasından Base-64 olarak kodlanmış veriler. splice_insert() veya time_signal() komutunu içerebilir.
Örnekler:
  • time_signal():
    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
  • splice_insert():/DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=
custParams İsteğe bağlı AM360'ta özel ölçüt hedefleme için bu arayla ilgili reklam isteklerine dahil edilecek, = ile ayrılmış ve & ile birleştirilen anahtar/değer çiftleri.
Örnek:
key=value&key2=value2,value3
Hedefleme hakkında daha fazla bilgi için Akışınıza hedefleme parametreleri sağlama bölümünü inceleyin.
ptpln İsteğe bağlı Reklam kapsülü şablon adı

Yanıt başlığı

HTTP/1.1 200 OK

Yanıt gövdesi

Yanıt gövdesi, adBreak nesnesinde gönderilen tüm parametrelerin yanı sıra akış içinde oluşturulan reklam arasının dahili DAI tanımlayıcısını içeren ek bir daiBreakId alanını içerir.

Örnek

İstek

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

Yanıt

HTTP/1.1 200 OK

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

Örnek uygulama (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)