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ı:
- 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ırarak
- 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.
- "İ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.
- 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.