Dinamik Reklam Ekleme VOD API'si

Dynamic Ad Ekleme API'si, DAI seç-izle video (VOD) akışlarını istemenize ve izlemenize olanak tanır. HLS ve DASH akışları desteklenir.

Hizmet: dai.google.com

stream yönteminin yolu, https://dai.google.com ile ilgilidir

Yöntem: akış

Yöntemler
stream POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

Belirtilen içerik kaynağı ve video kimliği için bir HLS DAI akışı oluşturur.

POST /ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

Belirtilen içerik kaynağı ve video kimliği için bir DASH DAI akışı oluşturur.

HTTP isteği

POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

İstek başlığı

Parametreler
api‑key string

Akış oluştururken sağlanan API anahtarı, yayıncının ağı için geçerli olmalıdır.

API anahtarı, istek gövdesinde sağlanmak yerine aşağıdaki biçimde HTTP Yetkilendirmesi başlığında iletilebilir:

Authorization: DCLKDAI key="<api-key>"

Yol parametreleri

Parametreler
content-source string

Akışın İYS kimliği.

video-id string

Akışın video kimliği.

İstek içeriği

İstek gövdesi application/x-www-form-urlencoded türündedir ve aşağıdaki parametreleri içerir:

Parametreler
dai-ssb İsteğe bağlı

Sunucu tarafı işaretleme akışı oluşturmak için true değerine ayarlayın. Varsayılan olarak false değerine ayarlanır. Varsayılan akışın izlemesi, istemci tarafından başlatılır ve sunucu tarafında pinglenir.

DFP Hedefleme Parametreleri İsteğe bağlı Ek hedefleme parametreleri.
Akış parametrelerini geçersiz kılma İsteğe bağlı Akış oluşturma parametresinin varsayılan değerlerini geçersiz kıl.
HMAC Kimlik Doğrulaması İsteğe bağlı HMAC tabanlı bir jeton kullanarak kimlik doğrulayın.

Yanıt gövdesi

Başarılı olursa yanıt gövdesi yeni bir Stream içerir. Bu Stream, sunucu tarafı işaretleme akışları için yalnızca stream_id ve stream_manifest alanlarını içerir.

Open Measurement

Verifications alanı, sunucu tarafı işaretleme olmayan akışlar için OpenMeasurement doğrulamasına ilişkin bilgileri içerir. Verifications, reklam öğesinin üçüncü taraf ölçüm koduyla oynatıldığını doğrulamak için ihtiyaç duyduğunuz kaynakları ve meta verileri listeleyen bir veya daha fazla Verification öğesi içerir. Yalnızca JavaScriptResource desteklenir. Daha fazla bilgi için lütfen IAB Tech Lab bölümüne ve VAST 4.1 spesifikasyonuna bakın.

Yöntem: medya doğrulaması

Oynatma sırasında bir reklam medya tanımlayıcısıyla karşılaştığınızda stream uç noktasından media_verification_url öğesini kullanarak hemen istekte bulunun. media_verification_url mutlak bir yoldur. Sunucunun medya doğrulamasını başlattığı sunucu tarafı işaretleme akışları için medya doğrulama istekleri gerekli değildir.

media verification uç noktasına gönderilen istekler eşgüçlü.

Yöntemler
media verification GET {media_verification_url}/{ad_media_id}

API'yi bir medya doğrulama etkinliğiyle ilgili bilgilendirir.

HTTP isteği

GET {media-verification-url}/{ad-media-id}

Yanıt gövdesi

media verification aşağıdaki yanıtları döndürür:

  • Medya doğrulaması başarılı olursa ve tüm ping'ler gönderilirse HTTP/1.1 204 No Content.
  • İstek, yanlış URL biçimlendirmesi veya geçerlilik sonu nedeniyle medyayı doğrulayamıyorsa HTTP/1.1 404 Not Found.
  • Bu kimlik için gönderilen önceki doğrulama isteği başarılı olursa HTTP/1.1 404 Not Found.
  • Şu anda başka bir istek zaten ping gönderiyorsa HTTP/1.1 409 Conflict.

Reklam medyası kimlikleri (HLS)

Reklam medya tanımlayıcıları, "kullanıcı tanımlı metin bilgisi" çerçeveleri için ayrılmış TXXX anahtarı kullanılarak HLS Zamanlanmış Meta Verilerde kodlanacaktır. Çerçevenin içeriği şifrelenmez ve her zaman "google_" metniyle başlar.

Çerçevenin metin içeriğinin tamamı, her reklam doğrulama isteği için media_verification_url'ye eklenmelidir.

Reklam medyası kimlikleri (DASH)

Reklam medyası tanımlayıcıları, DASH'in EventStream öğesi kullanılarak manifeste eklenir.

Her EventStream, urn:google:dai:2018 şeklinde bir Şema Kimliği URI'sine sahip olur. Bunlar, “google_” ile başlayan bir reklam medyası kimliği içeren messageData özelliğine sahip etkinlikleri içerir. messageData özelliğinin tüm içeriği, her reklam doğrulama isteği için media_verification_url'ye eklenmelidir.

Yanıt verileri

Yayın yap

Akış, yeni oluşturulan bir akışa ilişkin tüm kaynakların listesini JSON biçiminde oluşturmak için kullanılır .
JSON gösterimi
{
  "stream_id": string,
  "total_duration": number,
  "content_duration": number,
  "valid_for": string,
  "valid_until": string,
  "subtitles": [object(Subtitle)],
  "hls_master_playlist": string,
  "stream_manifest": string,
  "media_verification_url": string,
  "apple_tv": object(AppleTV),
  "ad_breaks": [object(AdBreak)],
}
Alanlar
stream_id string

Akış tanımlayıcısı.
total_duration number

Saniye cinsinden canlı yayın süresi.
content_duration number

İçeriğin reklamsız, saniye cinsinden süresi.
valid_for string

Süre akışı, "00s00d00s" biçiminde geçerlidir.
valid_until string

Akışın geçerli son tarihi (RFC 3339 biçiminde).
subtitles [object(Subtitle)]

Altyazılar listesi. Boşsa atlanır. Yalnızca HLS.
hls_master_playlist string

(KULLANIMDAN KALDIRILDI) HLS ana oynatma listesi URL'si. stream_manifest'i kullanın. Yalnızca HLS.
stream_manifest string

Akışın manifesti. HLS'de ana oynatma listesine, DASH'te MPD'ye karşılık gelir. Bu, sunucu tarafı işaretçi akış oluştururken yanıtta "stream_id" dışında bulunan tek alandır.
media_verification_url string

Medya doğrulama URL'si.
apple_tv object(AppleTV)

AppleTV cihazlarına özel isteğe bağlı bilgiler. Yalnızca HLS.
ad_breaks [object(AdBreak)]

Reklam aralarının listesi. Boşsa atlanır.

AppleTV

AppleTV, Apple TV cihazlarına özel bilgileri içerir.
JSON gösterimi
{
  "interstitials_url": string,
}
Alanlar
interstitials_url string

Geçiş reklamları URL'si.

AdBreak

AdBreak, akıştaki tek bir reklam arasını tanımlar. Bu tabloda konum, süre, tür (orta/önce/sonra) ve reklam listesi yer alır.
JSON gösterimi
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
Alanlar
type string

Geçerli ara türleri şunlardır: mid, pre ve post.
start number

Akışta aranın başladığı konum (saniye cinsinden).
duration number

Reklam arasının saniye cinsinden süresi.
ads [object(Ad)]

Reklam listesi. Boşsa atlanır.
Reklam, akıştaki bir reklamı açıklar. Reklamın aradaki konumunu, reklamın süresini ve bazı isteğe bağlı meta verileri içerir.
JSON gösterimi
{
  "seq": number,
  "start": number,
  "duration": number,
  "title": string,
  "description": string,
  "advertiser": string,
  "ad_system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
  "clickthrough_url": string,
  "icons": [object(Icon)],
  "wrappers": [object(Wrapper)],
  "events": [object(Event)],
  "verifications": [object(Verification)],
  "universal_ad_id": object(UniversalAdID),
  "companions": [object(Companion)],
  "interactive_file": object(InteractiveFile),
}
Alanlar
seq number

Reklamın aradaki konumu.
start number

Reklamın akış içinde başladığı saniye cinsinden konumu.
duration number

Reklamın saniye cinsinden süresi.
title string

Reklamın isteğe bağlı başlığı.
description string

Reklamın isteğe bağlı açıklaması.
advertiser string

İsteğe bağlı reklamveren tanımlayıcısı.
ad_system string

İsteğe bağlı reklam sistemi.
ad_id string

İsteğe bağlı reklam kimliği.
creative_id string

İsteğe bağlı reklam öğesi kimliği.
creative_ad_id string

İsteğe bağlı reklam öğesi reklam kimliği.
deal_id string

İsteğe bağlı anlaşma kimliği.
clickthrough_url string

İsteğe bağlı tıklama URL'si.
icons [object(Icon)]

Simgelerin bir listesi (boşsa atlanır).
wrappers [object(Wrapper)]

Sarmalayıcıların listesi. Boşsa atlanır.
events [object(Event)]

Reklamdaki etkinliklerin listesi.
verifications [object(Verification)]

Reklam öğesinin oynatıldığını doğrulamak amacıyla üçüncü taraf ölçüm kodunu yürütmek için gereken kaynakları ve meta verileri listeleyen isteğe bağlı Open Measurement doğrulama girişleri.
universal_ad_id object(UniversalAdID)

İsteğe bağlı evrensel reklam kimliği.
companions [object(Companion)]

Bu reklamla birlikte gösterilebilecek isteğe bağlı tamamlayıcılar.
interactive_file object(InteractiveFile)

Reklam oynatma sırasında gösterilmesi gereken isteğe bağlı etkileşimli reklam öğesi (SIMID).

Etkinlik

Etkinlik, etkinlik türünü ve etkinliğin sunum zamanını içerir.
JSON gösterimi
{
  "time": number,
  "type": string,
}
Alanlar
time number

Bu etkinliğin sunum zamanı.
type string

Bu etkinliğin türü.

Alt başlık

Altyazı, video akışı için bir yardımcı altyazı parçasını tanımlar. İki altyazı biçimi saklar: TTML ve WebVTT. TTMLPath özelliği, TTML yardımcı dosyasının URL'sini içerir ve WebVTTPath özelliği de benzer şekilde WebVTT yardımcı dosyasının URL'sini içerir.
JSON gösterimi
{
  "language": string,
  "language_name": string,
  "ttml": string,
  "webvtt": string,
}
Alanlar
language string

"en" veya "de" gibi bir dil kodu.
language_name string

Dilin açıklayıcı adı. Aynı dil için birden fazla alt başlık seti varsa bu özellik farklı alt gruplar oluşturur.
ttml string

TTML yardımcı dosyasına isteğe bağlı URL.
webvtt string

WebVTT yardımcı dosyasının isteğe bağlı URL'si.

Simge

Simge, VAST simgesi hakkında bilgi içeriyor.
JSON gösterimi
{
  "click_data": object(ClickData),
  "creative_type": string,
  "click_fallback_images": [object(FallbackImage)],
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
  "x_position": string,
  "y_position": string,
  "program": string,
  "alt_text": string,
}
Alanlar
click_data object(ClickData)

creative_type string

click_fallback_images [object(FallbackImage)]

height int32

width int32

resource string

type string

x_position string

y_position string

program string

alt_text string

ClickData

ClickData bir simge tıklamasıyla ilgili bilgiler içerir.
JSON gösterimi
{
  "url": string,
}
Alanlar
url string

FallbackImage

Yedek Resim, VAST yedek resmiyle ilgili bilgiler içerir.
JSON gösterimi
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
Alanlar
creative_type string

height int32

width int32

resource string

alt_text string

Wrapper

Sarmalayıcı, sarmalayıcı reklamla ilgili bilgiler içerir. Mevcut değilse anlaşma kimliği içermez.
JSON gösterimi
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
Alanlar
system string

Reklam sistemi tanımlayıcısı.
ad_id string

Sarmalayıcı reklam için kullanılan reklam kimliği.
creative_id string

Sarmalayıcı reklam için kullanılan reklam öğesi kimliği.
creative_ad_id string

Sarmalayıcı reklam için kullanılan Reklam Öğesi Reklam Kimliği.
deal_id string

Sarmalayıcı reklam için isteğe bağlı anlaşma kimliği.

Doğrulama

Doğrulama, üçüncü taraf görüntülenebilirlik ve doğrulama ölçümünü kolaylaştıran Open Measurement bilgilerini içerir. Şu anda yalnızca JavaScript kaynakları desteklenmektedir. https://iabtechlab.com/standards/open-measurement-sdk/ sayfasına bakın
JSON gösterimi
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
Alanlar
vendor string

Doğrulama tedarikçi firması.
java_script_resources [object(JavaScriptResource)]

Doğrulama için JavaScript kaynaklarının listesi.
tracking_events [object(TrackingEvent)]

Doğrulamayla ilgili izleme etkinliklerinin listesi.
parameters string

Önyükleme doğrulama koduna bir opak dize iletildi.

JavaScriptResource

JavaScriptResource, JavaScript aracılığıyla doğrulama için bilgiler içerir.
JSON gösterimi
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
Alanlar
script_url string

JavaScript yüküne URI.
api_framework string

APIFramework, doğrulama kodunu uygulayan video çerçevesinin adıdır.
browser_optional boolean

Bu komut dosyasının bir tarayıcının dışında çalıştırılıp çalıştırılamayacağı.

TrackingEvent

TrackingEvent, belirli durumlarda istemci tarafından pinglenmesi gereken URL'ler içerir.
JSON gösterimi
{
  "event": string,
  "uri": string,
}
Alanlar
event string

İzleme etkinliğinin türü.
uri string

Pinglenecek izleme etkinliği.

UniversalAdID

UniversalAdID, reklam sistemleri genelinde korunan benzersiz bir reklam öğesi tanımlayıcısı sağlamak için kullanılır.
JSON gösterimi
{
  "id_value": string,
  "id_registry": string,
}
Alanlar
id_value string

Reklam için seçilen reklam öğesinin Evrensel Reklam Kimliği.
id_registry string

Seçilen reklam öğesinin Evrensel Reklam Kimliği'nin kataloga eklendiği kayıt otoritesi web sitesinin URL'sini tanımlamak için kullanılan dize.

Tamamlayıcı

Tamamlayıcı, reklamla birlikte görüntülenebilecek tamamlayıcı reklamlarla ilgili bilgiler içerir.
JSON gösterimi
{
  "click_data": object(ClickData),
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
  "ad_slot_id": string,
  "api_framework": string,
  "tracking_events": [object(TrackingEvent)],
}
Alanlar
click_data object(ClickData)

Bu tamamlayıcının tıklama verileri.
creative_type string

Statik türde bir tamamlayıcıysa VAST'taki <StaticResource> düğümünde CreativeType özelliği.
height int32

Bu tamamlayıcı öğenin piksel cinsinden yüksekliği.
width int32

Bu tamamlayıcının piksel cinsinden genişliği.
resource string

Statik ve iframe tamamlayıcılar için bu, yüklenecek ve görüntülenecek URL'dir. HTML tamamlayıcıları için bu, tamamlayıcı olarak gösterilmesi gereken HTML snippet'i olacaktır.
type string

Bu tamamlayıcının türü. Statik, iframe veya HTML olabilir.
ad_slot_id string

Bu tamamlayıcı öğenin alan kimliği.
api_framework string

Bu tamamlayıcının API çerçevesi.
tracking_events [object(TrackingEvent)]

Bu tamamlayıcı için izleme etkinliklerinin listesi.

InteractiveFile

InteractiveFile, reklam oynatma sırasında görüntülenmesi gereken etkileşimli reklam öğesine (ör. SIMID) ilişkin bilgileri içerir.
JSON gösterimi
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
Alanlar
resource string

Etkileşimli reklam öğesinin URL'si.
type string

Kaynak olarak sağlanan dosyanın MIME türü.
variable_duration boolean

Bu reklam öğesinin sürenin uzatılmasını isteyip istemeyeceği.
ad_parameters string

VAST'teki <AdParameters> düğümünün değeri.