Dinamik Reklam Ekleme API'si, DAI seç-izle video 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: 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 bir 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çimde HTTP Yetkilendirme üstbilgisinde iletilebilir: Authorization: DCLKDAI key="<api-key>" |
Yol parametreleri
| Parametreler | |
|---|---|
content-source |
stringAkışın içerik yönetim sistemi kimliği. |
video-id |
stringAkışın video kimliği. |
İstek metni
İ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şaret 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ılma. |
| HMAC Kimlik Doğrulaması | İsteğe bağlı | HMAC tabanlı bir jeton kullanarak kimlik doğrulama. |
Yanıt metni
Başarılı olursa yanıt gövdesi yeni bir Stream içerir. Sunucu tarafı sinyal gönderimi yapılan yayınlarda bu Stream
yalnızca stream_id ve stream_manifest alanlarını içerir.
Open Measurement
Verifications alanı, sunucu tarafı işaretçisi kullanılmayan yayınlar için Open Measurement doğrulamasıyla ilgili bilgileri içerir.
Verifications, reklam öğesi oynatmayı üçüncü taraf ölçüm koduyla doğrulamanız için gereken 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 ve VAST 4.1 spesifikasyonunu inceleyin.
Yöntem: medya doğrulaması
Oynatma sırasında bir reklam medyası tanımlayıcısıyla karşılaştıktan sonra hemen stream uç noktasından media_verification_url kullanarak bir istekte bulunun. media_verification_url mutlak bir yoldur.
Sunucunun medya doğrulaması başlattığı sunucu tarafı sinyal akışlarında medya doğrulama istekleri gerekli değildir.
media verification uç noktasına yapılan istekler idempotent'tır.
| Yöntemler | |
|---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
API'yi bir medya doğrulama etkinliği hakkında bilgilendirir. |
HTTP isteği
GET {media-verification-url}/{ad-media-id}
Yanıt metni
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önderilirseHTTP/1.1 404 Not Foundİstek, yanlış URL biçimlendirmesi veya sürenin dolması nedeniyle medyayı doğrulayamıyorsa.- Bu kimlik için önceki bir doğrulama isteği başarılı olduysa
HTTP/1.1 404 Not Found HTTP/1.1 409 ConflictŞu anda başka bir istek zaten ping gönderiyorsa
Reklam medyası kimlikleri (HLS)
Reklam medyası tanımlayıcıları, "kullanıcı tanımlı metin bilgisi" çerçeveleri için ayrılmış olan TXXX anahtarı kullanılarak HLS Zamanlanmış Meta Verileri'nde kodlanır. Çerçevenin içeriği şifrelenmemiş olur 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.
Bu etkinlikler, messageData özelliğinde "google_" ile başlayan bir reklam medyası kimliği 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
Akış
Stream, 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 |
stringAkış tanımlayıcısı. |
total_duration |
numberSaniye cinsinden yayın süresi. |
content_duration |
numberReklamlar olmadan içeriğin süresi (saniye). |
valid_for |
stringSüre akışı, "00h00m00s" biçiminde geçerlidir. |
valid_until |
stringAkışın geçerli olduğu tarih (RFC 3339 biçiminde). |
subtitles |
[object(Subtitle)]Altyazı 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 |
stringAkışın manifest dosyası. HLS'deki ana oynatma listesine ve DASH'teki MPD'ye karşılık gelir. Bu alan, sunucu tarafı işaretçi akışı oluşturulurken yanıtta bulunan "stream_id" dışındaki tek alandır. |
media_verification_url |
stringMedya 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 özgü bilgileri içerir.| JSON gösterimi |
|---|
{
"interstitials_url": string,
} |
| Alanlar | |
|---|---|
interstitials_url |
stringGeçiş reklamı URL'si. |
AdBreak
AdBreak, akıştaki tek bir reklam arasını tanımlar. Konum, süre, tür (orta/ön/son) ve reklam listesi içerir.| JSON gösterimi |
|---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
| Alanlar | |
|---|---|
type |
stringGeçerli sayfa/sütun sonu türleri şunlardır: mid, pre ve post. |
start |
numberAranın başladığı yayın konumu (saniye cinsinden). |
duration |
numberReklam arasının süresi (saniye). |
ads |
[object(Ad)]Reklam listesi. Boşsa atlanır. |
Reklam
Reklam, akıştaki bir reklamı tanımlar. Reklamın aradaki konumu, reklamın süresi ve bazı isteğe bağlı meta veriler bulunur.| 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 yayında başladığı konum (saniye cinsinden). |
duration |
numberReklamın süresi (saniye). |
title |
stringReklamın isteğe bağlı başlığı. |
description |
stringİsteğe bağlı reklam açıklaması. |
advertiser |
stringİsteğe bağlı reklamveren kimliği. |
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 simge listesi. |
wrappers |
[object(Wrapper)]Sarmalayıcıların listesi. Boşsa çıkarılır. |
events |
[object(Event)]Reklamdaki etkinliklerin listesi. |
verifications |
[object(Verification)]Üçü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. Bu girişler, reklam öğesi oynatmayı doğrulamak için kullanılır. |
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). |
skip_metadata |
object(SkipMetadata)Atlanabilir reklamlar için isteğe bağlı meta veriler. Ayarlanırsa bu, reklamın atlanabilir olduğunu gösterir ve atlama kullanıcı arayüzünün ve izleme etkinliğinin nasıl işleneceğiyle ilgili talimatlar içerir. |
extensions |
stringVAST'taki tüm <Extension> düğümlerinin isteğe bağlı listesi. |
Etkinlik
Etkinlik, bir etkinlik türü 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
Subtitle, video akışı için bir sidecar altyazı parçasını tanımlar. TTML ve WebVTT olmak üzere iki altyazı biçimini depolar. TTMLPath özelliği, TTML sidecar dosyasının URL'sini, WebVTTPath özelliği ise WebVTT sidecar 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 |
stringDilin açıklayıcı adı. Aynı dil için birden fazla altyazı grubu varsa bu grupları birbirinden ayırır. |
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şlemesi için gereken bilgileri sağlar.| JSON gösterimi |
|---|
{
"offset": number,
"tracking_url": string,
} |
| Alanlar | |
|---|---|
offset |
numberOfset, oynatıcının atla düğmesini oluşturmak için reklamda kaç saniye beklemesi gerektiğini gösterir. VAST'ta sağlanmamışsa atlanır. |
tracking_url |
stringTrackingURL, atlama etkinliğinde pinglenmesi gereken bir URL içeriyor. |
Simge
Simge, VAST simgesiyle ilgili bilgiler 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, bir simge tıklamasıyla ilgili bilgileri içerir.| JSON gösterimi |
|---|
{
"url": string,
} |
| Alanlar | |
|---|---|
url |
string |
FallbackImage
FallbackImage, bir 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. 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 |
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 reklam 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 bilgiler 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 |
stringÖnyükleme doğrulama koduna iletilen opak bir dize. |
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 |
stringJavaScript yükü için URI. |
api_framework |
stringAPIFramework, doğrulama kodunu kullanan 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ğı. |
TrackingEvent
TrackingEvent, belirli durumlarda istemci tarafından ping gönderilmesi gereken URL'ler 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ğinin kataloglandığı 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 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ı reklam öğesinin tıklama verileri. |
creative_type |
stringBu, statik türde bir tamamlayıcı ise VAST'taki <StaticResource> düğümünde CreativeType özelliği. |
height |
int32Bu tamamlayıcı öğenin piksel cinsinden yüksekliği. |
width |
int32Bu tamamlayıcının piksel cinsinden genişliği. |
resource |
stringStatik ve iframe eşlikçiler 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'idir. |
type |
stringBu tamamlayıcının türü. Statik, iFrame veya HTML olabilir. |
ad_slot_id |
stringBu eşlik eden öğenin yer kimliği. |
api_framework |
stringBu tamamlayıcı için API çerçevesi. |
tracking_events |
[object(TrackingEvent)]Bu eşlikçiyle 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ürenin uzatılmasını isteyip istemediği. |
ad_parameters |
stringVAST'taki <AdParameters> düğümünün değeri. |