Dinamik Reklam Ekleme (DAI) API'si, IMA SDK'nın desteklenmediği para kazanılan akışlara (ör. Akıllı TV'ler) erişim sunar. IMA, kullanıma sunulduğu platformlarda gereklidir. API, mevcut tüm DAI özelliklerini destekler ancak bu özelliklerin yayıncı tarafından uygulanması gerekir.
API kullanılırken geçerli olan koşullar
Aşağıdaki işlevler, API kullanılırken yayıncı uygulaması gerektirir:
- DAI akışına HTTP uç noktası üzerinden erişme ve JSON yanıtlarını işleme
- API parametrelerini ve hedefleme anahtar/değer çiftlerini oluşturma
- Kullanıcı deneyimlerini (ör. tıklamalar ve simgeler) uygulama
- Hem canlı doğrusal hem de VOD için oynatıcı kontrollerini ve reklam izlemeyi/ölçümünü uygulamak üzere oynatıcıda ID3 etkinliklerini dinleme
- İleri geri oynatma davranışları, reklam atlamayı önleme ve yer işareti koyma işlevi
- Akış biçimleri seçimi: HLS veya DASH
Seç-izle video veya canlı doğrusal akışlarda API aracılığıyla akış isteğinde bulunma ve akış işleme hakkında bilgi edinmek için aşağıdaki bilgilerden yararlanabilirsiniz.
Talebe bağlı video (VOD)
VOD API'si, akış oluşturmadan reklam oynatma doğrulamasına kadar uzanan basit bir yaşam döngüsünü izler:
-
İçerik kaynağı kimliğini (
cmsid
) ve video kimliğini (vid
) API anahtarı veya HMAC jetonu ve reklam hedefleme parametreleriyle kullanarak HTTP POST ile bir akış isteğinde bulunun.https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream
-
İçerik oynatma manifest dosyası, altyazılar, reklam arası ve içerik zamanlama bilgileri için yanıtı işleyin.
{
"content_duration": 123.451,
"stream_manifest": "https://dai.google.com/.../master.m3u8",
"media_verification_url": "https://dai.google.com/.../media/",
"stream_id": "9ca0c62a-3291-4f95-986f-d1721f8b96f0",
"total_duration": 163.451,
"valid_for": "8h0m0s",
"valid_until": "2018-05-16T23:21:16.558053292-07:00",
"ad_breaks": [...]
}
-
Her bir reklam arası için, reklam öğelerinin kullanıcı arayüzü oluşturmaya yönelik tıklama, tamamlayıcı reklamlar ve reklam arası süresi bilgileri gibi ayrı reklam ayrıntılarını işleyin.
{
"clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",
"description": "Videodan önce gösterilen reklam örneği",
"duration": 10,
"seq": 1,
"title": "Videodan önce gösterilen reklam örneği"
}
-
Her reklam için
media_verification_url
'yi reklam medya oynatmasından eklenen ID3 değeriyle tetikleyin.https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/
Progress etkinlikleri, bir reklam arasının içinde ve dışında gerçekleşen oynatmanın ayırt edilmesi için sağlanmıştır ve başka bir reklam izleme amacına hizmet etmemektedir.
Meta veri json dosyasında medya tanımlayıcıyı arayarak ve type
alanının progress
olarak ayarlandığını doğrulayarak progress etkinliklerini tanımlayabilirsiniz. Progress ID3, video kontrollerini engelleme gibi durumlar için kullanılabilir.
Canlı doğrusal akışlar
Doğrusal API, akış oluşturmadan reklam oynatma doğrulamasına kadar uzanan basit bir yaşam döngüsünü izler:
-
Etkinlik kimliğini, API anahtarı veya HMAC jetonu ve reklam hedefleme parametreleriyle kullanarak HTTP POST ile bir akış isteğinde bulunun.
https://dai.google.com/linear/v1/hls/event/<eventid>/stream
https://dai.google.com/linear/v1/dash/event/<eventid>/stream -
İçerik oynatma manifest dosyası, altyazılar, reklam arası ve içerik zamanlama bilgileri için yanıtı işleyin.
{
"stream_manifest": "https://dai.google.com/linear/.../master.m3u8",
"media_verification_url": "https://dai.google.com/linear/.../media/",
"metadata_url": "https://dai.google.com/linear/.../metadata",
"polling_frequency": 10,
"stream_id": "793bf10c-2323-404d-b23b-0a529d96e651:MRN",
}
-
Reklam meta verisini anket sıklığında veya her bir ID3 reklam medya kimliği için bir sorgu parametresinde reklam medya kimliğini meta veri URL'sine ekleyerek isteyin.
{
"ad_breaks": {
"0001127859": {
"ads": 3,
"duration": 30,
"type": "mid"
}
},
"ads": {
"0001127859_ad2": {
"ad_break_id": "0001127859",
"ad_id": "39135088",
"ad_system": "GDFP",
"clickthrough_url": "http://pubads.g.doubleclick.net/pcs/click?...",
"creative_id": "103990016608",
"description": "10 saniyelik doğrusal reklam örneği",
"duration": 10,
"position": 2,
"title": "Doğrusal reklam örneği"
}
},
"tags": {
"google_0028792773": {
"ad": "0001127859_ad2",
"ad_break_id": "0001127859",
"type": "firstquartile"
}, ...
}
}
-
Her bir reklam için, reklam medya oynatmasından ID3 değerini ekleyerek
media_verification_url
öğesini tetikleyin.https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/
Progress etkinlikleri, bir reklam arasının içinde ve dışında gerçekleşen oynatmanın ayırt edilmesi için sağlanmıştır ve başka bir reklam izleme amacına hizmet etmemektedir.
Meta veri json dosyasında medya tanımlayıcıyı arayarak ve type
alanının progress
olarak ayarlandığını doğrulayarak progress etkinliklerini tanımlayabilirsiniz. Progress ID3, video kontrollerini engelleme gibi durumlar için kullanılabilir.
DAI API'sini kullanarak akışta reklam arasının başlamasına/sona ermesini algılama
DAI, çeyrek etkinlikleri (Başlangıç, İlk Çeyrek, Orta Nokta, Üçüncü Çeyrek ve Tamamlandı gibi) için ID3 meta verilerini reklam segmentlerine ve ilerleme olaylarını (saniyede bir) reklam ve seçenek listesi segmentlerine ekler. Bu tür bir ID3 etiketi ilk kez gözlemlendiğinde "reklam arası başlatıldı" etkinliği gösterilebilir. Bundan sonra, 2,5 saniye boyunca böyle bir ID3 etiketiyle karşılaşılmadığında "reklam arası sona erdi" etkinliği gösterilebilir. DAI eklenen ID3 etiketleri, "google_
" ön ekleriyle ve meta veri JSON dosyasında görülmeleriyle ayırt edilebilir.
Kullanıcı akışı başına hedefleme ve/veya anahtar-değer çiftlerini dinamik olarak güncelleme
session_update_url
, bir canlı yayının incelenecek reklam istekleri için kullanılan reklam etiketi parametrelerinin tümünün yerini almak üzere kullanılabilir (replaceAdTagParameters
ile aynı şekilde). Bu, hedefleme bilgilerinin program ve kullanıcı başına güncellenmesi gerektiğinde (ör. hedeflemenin önceden bilinmiyor olabileceği canlı spor etkinlikleri için) faydalıdır.