Google DAI API'si, IMA SDK'nın uygulanmasının desteklenmediği ortamlarda Google DAI özellikli akışları uygulamanıza olanak tanır. IMA SDK'nın desteklendiği platformlarda IMA kullanmaya devam etmenizi öneririz.
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. Uyumluluk veya desteklenen özelliklerle ilgili belirli sorular için Google hesap yöneticinizle iletişime geçin.
VOD akışları için DAI API'sini uygulama
DAI API'si, hem HLS hem de DASH protokollerini kullanan VOD akışlarını destekler. Bu kılavuzda açıklanan adımlar her iki protokol için de geçerlidir.
API'yi VOD akışları için uygulamanıza entegre etmek üzere aşağıdaki adımları tamamlayın:
Akış uç noktasına bir POST çağrısı yaparak akış isteğinde bulunun:
Örnek istek gövdesi:
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 yanıt gövdesi olmadan döndürülür.
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 sıraya alarak her medya kimliğini zaman damgasıyla (oynatıcı tarafından gösterilirse) kaydedin.
- Oynatıcıdan her güncelleme yapıldığında veya belirli bir sıklıkta (500 ms. önerilir) etkinlik zaman damgalarını video yer imleciyle karşılaştırarak son oynatılan etkinlikler için medya etkinlikleri sırasını kontrol edin.
- Oynattığını onayladığınız medya etkinlikleri için medya kimliğini medya doğrulaması uç noktasına ekleyip GET isteği göndererek oynatmayı izleyin.
Ö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 İzleyici'den doğrulayabilirsiniz.
İsteğe bağlı: Ne tür bir etkinliğin tetiklendiğini bulmak için akış oluşturma yanıtındaki
ad_breaks
verilerini kullanın.Medya etkinliğini sıradan kaldırın.
Sınırlamalar
API'yi web görünümlerinde kullanıyorsanız hedefleme için aşağıdaki sınırlamalar geçerlidir:
- UserAgent: Kullanıcı aracısı parametresi, temel platform yerine tarayıcıya özel değer olarak iletilir.
rdid
,idtype
,is_lat
: Cihaz kimliği düzgün şekilde iletilmediği için 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. Canlı içeriklerde olduğu gibi etkinliği doğrudan aramak için JSON'de döndürülen ad_breaks
bilgilerini kullanın.