CANLI yayınlar için Dinamik Reklam Ekleme API'si

Google DAI API'si, Google DAI özellikli akışları ortamlarda uygulamanıza olanak tanır uygulama içi metin reklamlarıdır. Mevcut projeleri yine de IMA SDK'nın desteklendiği platformlarda IMA yapabilirsiniz.

DAI API'sini aşağıdaki platformlarda kullanmanızı öneririz:

  • Samsung Akıllı TV (Tizen)
  • LG TV
  • HbbTV
  • Xbox (JavaScript uygulamaları)
  • KaiOS

API, IMA DAI SDK'sı tarafından sağlanan temel özellikleri destekler. Örneğin, uyumluluk veya desteklenen özelliklerle ilgili sorularınız varsa Google hesap yöneticiniz.

Canlı yayınlar için DAI API'sini uygulama

DAI API, hem HLS hem de DASH protokollerini kullanan doğrusal (CANLI) akışları destekler. Bu kılavuzda açıklanan adımlar her iki protokol için de geçerlidir.

API'yi CANLI yayınlara yönelik uygulamanıza entegre etmek için aşağıdaki adımları uygulayın: için şu adımları izleyin:

1. Akış isteğinde bulunma

DAI API'sinden canlı yayın isteğinde bulunmak için akışa POST çağrısı yapın uç nokta. JSON yanıtı, akış manifestinin yanı sıra DAI API uç noktaları ve değerleri.

Örnek istek gövdesi

https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

Örnek yanıt gövdesi

{
"stream_id":"c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session",
"polling_frequency":10
}

Hata yanıtı

Hata olması durumunda, standart HTTP hata kodları JSON yanıtı olmadan döndürülür gövde.

JSON yanıtını ayrıştırın ve aşağıdaki değerleri depolayın:

stream_id
Bu değer, döndürülen akışı tanımlamak için kullanılabilir.
stream_manifest
Bu URL, akışın oynatılması için medya oynatıcınıza iletilir.
media_verification_url
Bu URL, oynatma etkinliklerini izlemek için temel uç noktadır.
metadata_url
Bu URL, yaklaşan yayınla ilgili düzenli bilgi anketleri yapmak için kullanılır etkinliklerdir.
session_update_url
Bu URL, akış isteği. Bu isteğin parametrelerinin, tüm parametrelerin yerine geçtiğini unutmayın canlı yayın için ayarlandı.
polling_frequency
Güncellenmiş AdBreak meta verileri isteme işleminin saniye cinsinden sıklığı DAI API'si.

2. Yeni AdBreak meta verileri için anket

Yeni AdBreak meta verilerini yoklama sıklığında denetlemek için bir zamanlayıcı ayarlamak için meta veri URL'si. Akış yanıtında belirtilmezse varsayılan olarak önerilir 10 saniyedir.

Örnek istek gövdesi

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata

Örnek yanıt gövdesi

{
   "tags":{
      "google_0492266569":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"firstquartile"
      },
      "google_1560331148":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"thirdquartile"
      },
      "google_1877686714378797835":{
         "ad":"0000229836_slate",
         "ad_break_id":"0000229836",
         "type":"progress"
      },
      "google_1vRyQBYPw_7Gg3MrZ6S5EjmV9aLje-YpW8QHed1DSlU":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"progress"
      },
      "google_2032765498":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"midpoint"
      },......
      "google_5646900623":{
         "ad":"0000229837_ad1",
         "ad_break_id":"0000229837",
         "type":"complete"
      }
   },
   "ads":{
      "0000229834_ad1":{
         "ad_break_id":"0000229834",
         "position":1,
         "duration":15.01,
         "title":"truman-e2e-creativeset4",
         "description":"truman-e2e-creativeset4 ad",
         "ad_system":"GDFP",
         "ad_id":"39066884",
         "creative_id":"58092079124",
         "clickthrough_url":"https://pubads.g.doubleclick.net/pcs/click?xai=AKAO...\u0026adurl=http://google.com",
         "universal_ad_id":{
            "id_value":"58092079124",
            "id_registry":"GDFP"
         }
      },
      "0000229834_slate":{
         "ad_break_id":"0000229834",
         "position":-1,
         "duration":14.974977777,
         "slate":true
      },...
   },
   "ad_breaks":{
      "0000229834":{
         "type":"mid",
         "duration":15.01,
         "expected_duration":29.984977776999997,
         "ads":1
      },....
   }
}

3. ID3 etkinliklerini dinleyin ve oynatma etkinliklerini izleyin

Bir video akışında belirli etkinliklerin gerçekleştiğini doğrulamak için aşağıdaki adımları uygulayın: ID3 etkinliklerini işleme adımları:

  1. Medya etkinliklerini bir sırada depolayarak her medya kimliğini onunla birlikte kaydedin zaman damgası (oynatıcı tarafından gösterilirse).
  2. Oynatıcıdan her güncelleme yapıldığında veya belirli bir sıklıkta (önerilir) 500 ms), son oynatılan etkinlikler için medya etkinlikleri sırasını kontrol ederek ve etkinlik zaman damgalarını video yer imleciyle karşılaştırarak
  3. Oynatıldığını onayladığınız medya etkinliklerinin türünü kontrol etmek için depolanan reklam arası etiketlerindeki medya kimliği. Saklanan etiketlerin Yalnızca medya kimliğinin ön ekini içerir. Bu nedenle, tam eşleşme mümkün değildir.
  4. "İlerleme durumu"nu kullanın etkinlikleri izler. Bu etkinlikleri medya doğrulaması uç noktasına göndermeyin. Başka bir etkinlik için medya kimliğini medya doğrulama uç noktasına ekleyin ve bir GET oynatma isteğini takip eder.
  5. Medya etkinliğini sıradan kaldırın.

Örnek istek gövdesi

https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/

Örnek yanıtlar

Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict

İzleme etkinliklerini, Akış Etkinliği"nden doğrulayabilirsiniz İzleme.

4. Canlı yayın oturum parametrelerini güncelleme

Oturum parametrelerinizi bir akış gerçekleştirildikten sonra veya oluşturuldu. Bu işlemi yapmak için oturum güncelleme URL'sine istekte bulunun.

Örnek istek gövdesi

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

Örnek yanıt gövdesi

Successful response would be to look for - HTTP/1.1 200

Sınırlamalar

API'yi web görünümlerinde kullanıyorsanız hedefleme için:

  • UserAgent: Kullanıcı aracısı parametresi, tarayıcıya özgü değer olarak iletilir tercih edebilirsiniz.
  • rdid idtype, is_lat: Cihaz kimliği doğru şekilde iletilmezse şu özelliklere sahiptir:
    • Sıklık sınırı
    • Sıralı reklam rotasyonu
    • Kitle segmentasyonu ve hedefleme

En iyi uygulamalar

Canlı yayın dizinleri için meta veri uç noktasının, ön ekini kaldırın. Bu, tasarım gereği, meta veri uç noktası ile doğrulayın.

Ek kaynaklar