Dinamik Reklam Ekleme VOD API'si

Dinamik Reklam 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 görelidir

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 HTTP Yetkilendirmesi başlığında aşağıdaki biçimde 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 izleme işlemi, 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ıl İsteğe bağlı Akış oluşturma parametresinin varsayılan değerlerini geçersiz kılma.
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. Sunucu tarafı işaretleme akışları için bu Stream 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 oynatıldığını üçüncü taraf ölçüm koduyla doğrulamak için ihtiyacınız olan 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 ve VAST 4.1 spesifikasyonunu inceleyin.

Yöntem: medya doğrulaması

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

media verification uç noktasına yapılan istekler eşgüçlüdür.

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 süre sonu nedeniyle medyayı doğrulayamıyorsa HTTP/1.1 404 Not Found.
  • Bu kimlik için daha önce gönderilen doğrulama isteği başarılı olduysa 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 Verilerinde kodlanacaktır. Çerçevenin içeriği şifrelenmez ve her zaman "google_" metniyle başlar.

Çerçevenin tüm metin içeriği, her bir 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 ş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 bir reklam doğrulama isteği için media_verification_url'ye eklenmelidir.

Yanıt verileri

Yayın yap

Akış, yeni oluşturulan bir akışla ilgili 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 saniye cinsinden reklamsız süresi.
valid_for string

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

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

Altyazı listesi. Boşsa yoksayılı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şaretleme akışı oluştururken yanıtta "stream_id" haricinde bulunan tek alandır.
media_verification_url string

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

Apple TV 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 bilgiler 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ı ifade eder. Konum, süre, tür (orta/önce/sonra) ve reklam listesini içerir.
JSON gösterimi
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
Alanlar
type string

Geçerli ara türleri şunlardır: mid, önceki ve son.
start number

Saniye cinsinden, akışta aranın başladığı konum.
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

Saniye cinsinden, reklamın başladığı akıştaki konumdur.
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örüntülenmesi 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 saati.
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 ve WebVTTPath özelliği de benzer şekilde WebVTT yardımcı dosyasının bir 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 altyazı grubu varsa bu özellik, belirli bir altyazı grubunu farklılaştırır.
ttml string

TTML yardımcı dosyasının isteğe bağlı URL'si.
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ğini 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'leri içerir.
JSON gösterimi
{
  "event": string,
  "uri": string,
}
Alanlar
event string

İzleme etkinliğinin türü, şu anda tek seçenek olan "verificationNotExecuted" (VAST 4.1 spesifikasyonunda belirtildiği gibi).
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ğinin kataloga dahil edildiği kayıt otoritesinin web sitesinin URL'sini tanımlamak için kullanılan dize.

Tamamlayıcı

Tamamlayıcı reklamlar, 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,
}
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ının 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.

InteractiveFile

InteractiveFile, reklam oynatma sırasında görüntülenmesi gereken etkileşimli reklam öğesi (ör. SIMID) için bilgiler 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üre uzatılmasını isteyip istemediği.
ad_parameters string

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