Dinamik Reklam Ekleme API'si, DAI seç-izle video (VOD) akışlarını istemenizi ve izlemenizi sağlar. HLS ve DASH akışları desteklenir.
Hizmet: dai.google.com
stream yönteminin yolu https://dai.google.com'a görelidir
Yöntem: stream
| 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.
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 |
stringAkış oluşturulurken 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çimle HTTP Yetkilendirme başlığında iletilebilir: Authorization: DCLKDAI key="<api-key>" |
Yol parametreleri
| Parametreler | |
|---|---|
content-source |
stringAkışın içerik yönetim sistemi kimliği. |
video-id |
stringYayının video kimliği. |
İstek içeriği
İstek metni 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 |
| 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ılabilirsiniz. |
| HMAC Kimlik Doğrulaması | İsteğe bağlı | HMAC tabanlı bir jeton kullanarak kimlik doğrulama yapın. |
Yanıt gövdesi
Başarılı olursa yanıt metni yeni bir Stream içerir. Sunucu tarafı işaretçi akışları için bu Stream yalnızca stream_id ve stream_manifest alanlarını içerir.
Open Measurement
Verifications alanı, sunucu tarafı işaretçi olmayan akışlar için Open Measurement doğrulamasıyla ilgili bilgileri içerir.
Verifications, reklam öğesi oynatmayı üçüncü taraf ölçüm koduyla 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 IAB Tech Lab'e ve VAST 4.1 spesifikasyonuna göz atın.
Yöntem: medya doğrulaması
Oynatma sırasında bir reklam medya tanımlayıcısı ile karşılaştıktan sonra hemen stream uç noktasından media_verification_url kullanarak istek gönderin. media_verification_url mutlak bir yoldur.
Sunucunun medya doğrulamasını başlattığı sunucu tarafı işaretçi akışları için medya doğrulama istekleri gerekli değildir.
media verification uç noktasına gönderilen istekler idempotent'tir.
| Yöntemler | |
|---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
API'yi medya doğrulama etkinliği hakkında 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:
HTTP/1.1 204 No Contentmedya doğrulaması başarılı olursa ve tüm ping'ler gönderilirse.- İstek, yanlış URL biçimlendirmesi veya geçerlilik süresi sona ermesi nedeniyle medyayı doğrulayamazsa
HTTP/1.1 404 Not Found. HTTP/1.1 404 Not Founddeğerini döndürür.HTTP/1.1 409 Conflictise başka bir istek şu anda ping gönderiyor demektir.
Reklam medya kimlikleri (HLS)
Reklam medya tanımlayıcıları, "kullanıcı tanımlı metin bilgileri" çerçeveleri için ayrılmış TXXX anahtarı kullanılarak HLS Zamanlanmış Meta Verileri'ne kodlanır. Çerçevenin içeriği şifresi çözülecek ve her zaman "google_" metniyle başlayacaktır.
Çerçevenin metin içeriğinin tamamı, her reklam doğrulama isteği için media_verification_url'ye eklenmelidir.
Reklam medya kimlikleri (DASH)
Reklam medya tanımlayıcıları, DASH'in EventStream öğesi kullanılarak manifest'e eklenir.
Her EventStream, urn:google:dai:2018 Scheme ID URI'sine sahip olacaktır.
Bu raporlar, “google_” ile başlayan bir reklam medya kimliği içeren messageData özelliğine sahip etkinlikleri içerir. messageData özelliğinin içeriğinin tamamı, her reklam doğrulama isteği için media_verification_url'ye eklenmelidir.
Yanıt verileri
Akış
Akış, yeni oluşturulan bir yayının tüm kaynaklarının JSON biçiminde bir listesini 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 |
stringAkış tanımlayıcısı. |
total_duration |
numberSaniye cinsinden yayın süresi. |
content_duration |
numberReklamlar olmadan içeriğin süresi (saniye cinsinden). |
valid_for |
stringSüre akışı, "00sa00dk00sn" biçiminde geçerlidir. |
valid_until |
stringAktarımın geçerli olduğu tarih (RFC 3339 biçiminde). |
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 parametresini kullanın. Yalnızca HLS. |
stream_manifest |
stringYayın manifesti. HLS'deki ana oynatma listesine ve DASH'teki MPD'ye karşılık gelir. Sunucu tarafı işaretleme akışı oluşturulurken yanıtta "stream_id" dışında bulunan tek alan budur. |
media_verification_url |
stringMedya 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 özgü bilgileri içerir.| JSON gösterimi |
|---|
{
"interstitials_url": string,
} |
| Alanlar | |
|---|---|
interstitials_url |
stringİnteraktif reklam URL'si. |
AdBreak
AdBreak, yayındaki tek bir reklam arasını tanımlar. Bir konum, süre, tür (ortası/öncesi/sonrası) ve reklam listesini içerir.| JSON gösterimi |
|---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
| Alanlar | |
|---|---|
type |
stringGeçerli ara türleri: orta, ön ve son. |
start |
numberAranızın başladığı yayındaki konum (saniye cinsinden). |
duration |
numberReklam arasının saniye cinsinden süresi. |
ads |
[object(Ad)]Reklamların listesi. Boşsa atlanır. |
Reklam
Reklam, yayındaki bir reklamı tanımlar. 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),
"skip_metadata": object(SkipMetadata),
"extensions": [],
} |
| Alanlar | |
|---|---|
seq |
numberReklamın aradaki konumu. |
start |
numberReklamın başladığı yayın konumu (saniye cinsinden). |
duration |
numberReklamın saniye cinsinden süresi. |
title |
stringReklamın isteğe bağlı başlığı. |
description |
stringReklamı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ı fırsat kimliği. |
clickthrough_url |
stringİsteğe bağlı tıklama URL'si. |
icons |
[object(Icon)]Simgelerin 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 öğesi oynatmayı doğrulamak için üçüncü taraf ölçüm kodunu yürütmek üzere 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 oynatımı sırasında gösterilmesi gereken isteğe bağlı etkileşimli reklam öğesi (SIMID). |
skip_metadata |
object(SkipMetadata)Atlanabilir reklamlar için isteğe bağlı meta veriler. Bu ayar, reklamın atlanabilir olduğunu gösterir ve atlama kullanıcı arayüzünün ve izleme etkinliğinin nasıl ele alınacağına dair talimatlar içerir. |
extensions |
stringVAST'taki tüm <Extension> düğümlerinin isteğe bağlı listesi. |
Etkinlik
Etkinlik, etkinlik türünü ve etkinliğin sunum zamanını içerir.| JSON gösterimi |
|---|
{ "time": number, "type": string, } |
| Alanlar | |
|---|---|
time |
numberBu etkinliğin sunum zamanı. |
type |
stringBu etkinliğin türü. |
Alt başlık
Altyazı, video akışı için bir yan altyazı kanalını tanımlar. İki altyazı biçimini depolar: TTML ve WebVTT. TTMLPath özelliği, TTML yan dosyasındaki URL'yi içerir. WebVTTPath özelliği de benzer şekilde WebVTT yan dosyasındaki URL'yi 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 |
stringDilin açıklayıcı adı. Aynı dil için birden fazla altyazı grubu varsa belirli altyazı grubunu ayırt eder |
ttml |
stringTTML yardımcı dosyasının isteğe bağlı URL'si. |
webvtt |
stringWebVTT yardımcı dosyasının isteğe bağlı URL'si. |
SkipMetadata
SkipMetadata, müşterilerin atlanabilir reklamlar için atlama etkinliklerini işleyebilmesi için gereken bilgileri sağlar.| JSON gösterimi |
|---|
{
"offset": number,
"tracking_url": string,
} |
| Alanlar | |
|---|---|
offset |
numberOfset, oynatıcının atlama düğmesini oluşturmak için reklamın başından itibaren beklemesi gereken süreyi (saniye cinsinden) gösterir. VAST'ta sağlanmazsa atlanır. |
tracking_url |
stringTrackingURL, atlama etkinliğinde pinglenmesi gereken bir URL içerir. |
Simge
Simge, VAST simgesiyle ilgili bilgileri içerir.| 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, simge tıklaması hakkında bilgi içerir.| JSON gösterimi |
|---|
{
"url": string,
} |
| Alanlar | |
|---|---|
url |
string |
FallbackImage
FallbackImage, VAST yedek resmiyle ilgili bilgileri 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 bilgileri içerir. Anlaşma kimliği yoksa 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 |
stringReklam sistemi tanımlayıcısı. |
ad_id |
stringSarmalayıcı reklam için kullanılan reklam kimliği. |
creative_id |
stringSarmalayıcı reklam için kullanılan reklam öğesi kimliği. |
creative_ad_id |
stringSarmalayıcı reklam için kullanılan reklam öğesi kimliği. |
deal_id |
stringSarmalayı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 ile ilgili bilgileri içerir. Şu anda yalnızca JavaScript kaynakları desteklenmektedir. https://iabtechlab.com/standards/open-measurement-sdk/ adresine göz atın.| JSON gösterimi |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| Alanlar | |
|---|---|
vendor |
stringDoğrulama tedarikçisi. |
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 |
stringBaşlangıç doğrulama koduna iletilen opak bir dize. |
JavaScriptResource
JavaScriptResource, JavaScript aracılığıyla doğrulamayla ilgili bilgileri içerir.| JSON gösterimi |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Alanlar | |
|---|---|
script_url |
stringJavaScript yüküne URI. |
api_framework |
stringAPIFramework, doğrulama kodunu yürüten video çerçevesinin adıdır. |
browser_optional |
booleanBu komut dosyasının tarayıcı dışında çalıştırılıp çalıştırılamayacağını belirtir. |
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ü. |
uri |
stringPing gönderilecek izleme etkinliği. |
UniversalAdID
UniversalAdID, reklam sistemlerinde 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 |
stringReklam için seçilen reklam öğesinin Evrensel Reklam Kimliği. |
id_registry |
stringSeçilen reklam öğesinin Evrensel Reklam Kimliği'nin kataloglandığı kayıt otoritesi web sitesinin URL'sini tanımlamak için kullanılan bir dize. |
Companion
Tamamlayıcı, reklamla birlikte gösterilebilecek 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ının tıklama verileri. |
creative_type |
stringBu, static türündeki bir tamamlayıcıysa VAST'teki <StaticResource> düğümündeki CreativeType özelliği. |
height |
int32Bu tamamlayıcı öğenin piksel cinsinden yüksekliği. |
width |
int32Bu tamamlayıcı öğenin piksel cinsinden genişliği. |
resource |
stringStatik ve iframe tamamlayıcılar için bu, yüklenecek ve gösterilecek URL'dir. HTML tamamlayıcılar için bu, tamamlayıcı olarak gösterilmesi gereken HTML snippet'idir. |
type |
stringBu tamamlayıcının türü. Statik, iFrame veya HTML olabilir. |
ad_slot_id |
stringBu arkadaşın slot kimliği. |
api_framework |
stringBu tamamlayıcının API çerçevesi. |
tracking_events |
[object(TrackingEvent)]Bu tamamlayıcı cihazla ilgili izleme etkinliklerinin listesi. |
InteractiveFile
InteractiveFile, reklam oynatımı sırasında gösterilmesi gereken etkileşimli reklam öğesi (ör. SIMID) bilgilerini içerir.| JSON gösterimi |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Alanlar | |
|---|---|
resource |
stringEtkileşimli reklam öğesinin URL'si. |
type |
stringKaynak olarak sağlanan dosyanın MIME türü. |
variable_duration |
booleanBu reklam öğesinin süresinin uzatılmasını isteyip istemeyeceğini belirtir. |
ad_parameters |
stringVAST'taki <AdParameters> düğümünün değeri. |