Google DAI API'si, Google DAI özellikli akışları ortamlarda uygulamanıza olanak tanır uygulama içi metin reklamlarıdır. 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. Belirli uyumluluk veya desteklenen özelliklerle ilgili sorularınız varsa Google hesap yöneticinize başvurun.
VOD akışları için DAI API'sini uygulama
DAI API, hem HLS hem de DASH protokollerini kullanan VOD akışlarını destekler. Adımlar her iki protokol için de geçerlidir.
API'yi VOD akışlarına yönelik uygulamanıza entegre etmek için şu adımları uygulayın:
Akış uç noktasına POST çağrısı yaparak bir akış isteğinde bulunun:
Örnek istek içeriği:
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream { key1 : "value1", stream_parameter1 : "value2" }
Örnek yanıt gövdesi:
{ "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85", "total_duration":636.458, "content_duration":596.458, "valid_for":"8h0m0s", "valid_until":"2020-06-04T20:39:41.274707306-07:00", "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd", "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/", "ad_breaks":[ { "type":"pre", "start":0, "duration":10, "ads":[ { "seq":1, "duration":10, "title":"External NCA1C1L1 Preroll", "description":"External NCA1C1L1 Preroll ad", "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365", "events":[ { "time":0.1, "type":"start" }, { "time":2.5, "type":"firstquartile" }, { "time":4.75, "type":"midpoint" }, { "time":7.5, "type":"thirdquartile" }, { "time":9, "type":"complete" } ] } ] }, { "type":"mid", "start":45, "duration":10, "ads":[ {.... } ] } ] }, { "type":"post", "start":626.458, "duration":10, "ads":[...] } ] }
Hata Yanıtı
Hata olması durumunda, standart HTTP hata kodları JSON olmadan döndürülür yanıt gövdesi.
JSON yanıtını ayrıştırın ve aşağıdaki değerleri depolayın:
stream_id
stream_manifest
media_verification_url
ad_breaks
Medya doğrulaması yapmak için ID3 etkinliklerini dinleyin:
- Medya etkinliklerini bir sırada depolayarak her medya kimliğini onunla birlikte kaydedin zaman damgası (oynatıcı tarafından gösterilirse).
- 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ırma.
- Oynatıldığını onayladığınız medya etkinliklerinin oynatılmasını medya kimliğini medya doğrulama uç noktasına ekleyip bir GET isteği.
Örnek istek içeriği:
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.
İsteğe bağlı: Şuna bakmak için akış oluşturma yanıtındaki
ad_breaks
verilerini kullanın: nasıl tetiklendiğini görebilirsiniz.Medya etkinliğini sıradan kaldırın.
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: düzgün bir şekilde iletilmezse aşağıdaki özellikler sınırlanır:- Sıklık sınırı
- Sıralı reklam rotasyonu
- Kitle segmentasyonu ve hedefleme
En iyi uygulamalar
ID3 etiketlerinin uygun etkinlik türüyle eşlenmesi, VOD'de yorucudur. Şunu kullanın:
etkinliği doğrudan aramak için JSON dosyasında ad_breaks
bilgileri döndürdü:
bunların her biri için geçerlidir.