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.
CANLI yayınlar için DAI API'sini uygulama
DAI API'si, 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ınlar için uygulamanıza entegre etmek için aşağıdaki adımları tamamlayın:
1. Akış isteğinde bulunma
DAI API'sinden canlı yayın isteğinde bulunmak için akış uç noktasına bir POST çağrısı yapın. JSON yanıtı, akış manifestinin yanı sıra ilişkili DAI API uç noktaları ve değerlerini içerir.
Ö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 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
- 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 canlı yayın etkinlikleri hakkında düzenli aralıklarla anket yapmak için kullanılır.
- session_update_url
- Bu URL, ilk akış isteği sırasında gönderilen akış isteği parametrelerini güncellemek için kullanılır. Bu isteğin parametrelerinin, önceki akış için ayarlanan tüm parametreleri değiştirdiğini unutmayın.
- polling_frequency
- DAI API'den güncellenmiş AdBreak Meta Verileri istenirken saniye cinsinden sıklık.
2. Yeni Reklam Arası Meta Verileri anketi
Meta veri URL'sini kullanarak yeni AdBreak Meta Verilerini yoklama sıklığında yoklamak için zamanlayıcı ayarlayın. Akış yanıtında belirtilmezse varsayılan önerilen aralık 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 ID3 etkinliklerini işlemek üzere şu adımları izleyin:
- 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.
- Oynatıldığını onayladığınız medya etkinlikleri için, depolanan reklam arası etiketlerinde medya kimliğini arayarak türü kontrol edin. Depolanan etiketlerin yalnızca medya kimliğinin önekini içerdiğini, bu nedenle tam bir eşleşmenin mümkün olmadığını unutmayın.
- Kullanıcının bir reklam arasında olup olmadığını izlemek için "ilerleme" etkinliklerini kullanın. Bu etkinlikleri medya doğrulaması uç noktasına göndermeyin. Diğer etkinlik türleri için medya kimliğini medya doğrulaması uç noktasına ekleyin ve oynatmayı izlemek için GET isteğinde bulunun.
- 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 İzleyici'den doğrulayabilirsiniz.
4. Canlı yayın oturumu parametrelerini güncelleme
Bir akış oluşturulduktan sonra oturum parametrelerinizi ayarlamak isteyebilirsiniz. Bunu yapmak için oturum güncelleme URL'sine bir 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 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 özelliklerin işlevleri sınırlanır:- 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, karşılık gelen ID3 etiketinin önekine dayalı olduğunu unutmayın. Bu, tüm doğrulama düğümlerini anında pinglemek için meta veri uç noktasının kullanılmasını önlemek amacıyla tasarlanmıştır.