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 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 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ğlamak 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

İsteğin 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 olarak 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ılın.
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ıyla ilgili bilgileri içerir. Verifications, reklam öğesi oynatmayı üçüncü taraf ölçüm koduyla doğrulamak için ihtiyacınız olan kaynakların ve meta verilerin listelendiği 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 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 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ğrulama istekleri gerekli değildir.

media verification uç noktasına yapılan istekler idempotenttir.

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

API'ye bir medya doğrulama etkinliği bildirir.

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 süresi nedeniyle medyayı doğrulayamıyorsa HTTP/1.1 404 Not Found.
  • Bu kimlik için önceki 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 medyası tanımlayıcıları, "kullanıcı tanımlı metin bilgisi" çerçeveleri için ayrılmış TXXX anahtarı kullanılarak HLS Zamanlanmış Meta Veri'de kodlanır. Çerçevenin içeriği şifrelenmez ve her zaman "google_" metniyle başlar.

Çerçevenin tüm metin içeriği, 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 Şema Kimliği URI'sine sahip olur. Bunlar, “google_” ile başlayan bir reklam medya kimliği içeren messageData özelliğine sahip etkinlikler 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ış için tüm kaynakların listesini JSON biçiminde oluşturmak amacıyla 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 akış süresi.
content_duration number

İçeriğin reklam olmadan saniye cinsinden süresi.
valid_for string

"00 sa. 00.00 sn." biçiminde akış süresi geçerlidir.
valid_until string

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

Altyazıların 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 manifest dosyası. HLS'deki ana oynatma listesine ve DASH'teki MPD'ye karşılık gelir. Bu, sunucu tarafı işaretleme 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ş reklamı URL'si.

AdBreak

AdBreak, yayındaki tek bir reklam arasını tanımlar. Bir konum, bir süre, bir tür (orta/ön/son) ve bir reklam listesi içerir.
JSON gösterimi
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
Alanlar
type string

Geçerli ara türleri şunlardır: orta, öncesi ve sonrası.
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ışta başladığı saniye cinsinden konum.
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)]

Boşsa atlanan simgelerin listesi.
wrappers [object(Wrapper)]

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

Reklamdaki etkinliklerin listesi.
verifications [object(Verification)]

Reklam öğesi oynatmayı 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örüntülenebilecek 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, bir etkinlik türünü ve etkinliğin sunu 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

Alt başlık, video akışı için bir yardımcı altyazı parçasını açıklar. İki altyazı biçimi depolar: 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 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 grup varsa belirli alt setleri birbirinden ayırt eder.
ttml string

TTML yardımcı dosyası için isteğe bağlı URL.
webvtt string

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

Simge

Simge, VAST simgesi hakkında bilgiler 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

FallbackImage, 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ı, bir sarmalayıcı reklamla ilgili bilgileri içerir. Varsa 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ını inceleyin.
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ğrulama için izleme etkinliklerinin listesi.
parameters string

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

JavaScriptResource

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

JavaScript yükü için URI.
api_framework string

APIFramework, doğrulama kodunu kullanan 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

İzleme Etkinliği, 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 arasında yönetilen 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 kataloglandığı kayıt otoritesi web sitesinin URL'sini tanımlamak için kullanılan bir dize.

Tamamlayıcı

Tamamlayıcı, reklamla birlikte görüntülenebilecek tamamlayıcı reklamlarla ilgili bilgileri 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ı için tıklama verileri.
creative_type string

Statik türündeki bir tamamlayıcıysa VAST'taki <StaticResource> düğümündeki 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 yüklenecek ve görüntülenecek URL olacaktır. 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ının alan kimliği.
api_framework string

Bu tamamlayıcı için 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 öğesi (SIMID) ile ilgili 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 isteymeyeceği.
ad_parameters string

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