API VOD درج آگهی پویا

API درج آگهی پویا به شما امکان می‌دهد تا جریان‌های ویدیوی بر اساس تقاضا (VOD) DAI را درخواست و ردیابی کنید. جریان های HLS و DASH پشتیبانی می شوند.

خدمات: dai.google.com

مسیر روش stream نسبت به https://dai.google.com است

روش: جریان

روش ها
stream POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream

یک جریان HLS DAI برای منبع محتوا و شناسه ویدیوی داده شده ایجاد می کند.

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

یک جریان DASH DAI برای منبع محتوا و شناسه ویدیوی داده شده ایجاد می کند.

درخواست HTTP

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

هدر درخواست

پارامترها
api‑key string

کلید API ارائه شده هنگام ایجاد جریان، باید برای شبکه ناشر معتبر باشد.

به جای ارائه آن در بدنه درخواست، کلید API را می توان در هدر مجوز HTTP با فرمت زیر ارسال کرد:

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

پارامترهای مسیر

پارامترها
content-source string

شناسه CMS جریان.

video-id string

شناسه ویدیوی جریان.

درخواست بدن

بدنه درخواست از نوع application/x-www-form-urlencoded است و شامل پارامترهای زیر است:

پارامترها
dai-ssb اختیاری

برای ایجاد جریانی از سمت سرور، روی true تنظیم کنید. پیش فرض ها به false . ردیابی جریان پیش‌فرض توسط مشتری آغاز می‌شود و در سمت سرور پینگ می‌شود.

پارامترهای هدف DFP اختیاری پارامترهای هدف گیری اضافی
نادیده گرفتن پارامترهای جریان اختیاری مقادیر پیش‌فرض پارامتر ایجاد جریان را لغو کنید.
احراز هویت HMAC اختیاری با استفاده از توکن مبتنی بر HMAC احراز هویت.

بدن پاسخگو

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی یک Stream جدید است. برای جریان‌های beaconing سمت سرور، این Stream فقط شامل فیلدهای stream_id و stream_manifest است.

باز کردن اندازه‌گیری

فیلد Verifications حاوی اطلاعاتی برای تأیید اندازه‌گیری باز برای جریان‌های چراغ‌گردان غیر از سمت سرور است. Verifications حاوی یک یا چند عنصر Verification است که منابع و ابرداده‌هایی را که برای تأیید پخش خلاقانه با کد اندازه‌گیری شخص ثالث نیاز دارید، فهرست می‌کنند. فقط JavaScriptResource پشتیبانی می شود. برای اطلاعات بیشتر، لطفاً به آزمایشگاه فناوری IAB و مشخصات VAST 4.1 مراجعه کنید.

روش: تایید رسانه ای

پس از اینکه در حین پخش با یک شناسه رسانه تبلیغاتی مواجه شدید، فوراً با استفاده از media_verification_url از نقطه پایانی stream درخواستی ارائه دهید. media_verification_url یک مسیر مطلق است. درخواست‌های تأیید رسانه برای جریان‌های نشان‌دهنده سمت سرور، جایی که سرور تأیید رسانه را آغاز می‌کند، ضروری نیست.

درخواست‌ها به نقطه پایانی media verification بی‌توان هستند.

روش ها
media verification GET {media_verification_url}/{ad_media_id}

API را از یک رویداد تأیید رسانه مطلع می کند.

درخواست HTTP

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

بدن پاسخگو

media verification پاسخ‌های زیر را برمی‌گرداند:

  • HTTP/1.1 204 No Content .
  • HTTP/1.1 404 Not Found اگر درخواست نمی تواند رسانه را به دلیل قالب بندی نادرست URL یا انقضا تأیید کند.
  • اگر درخواست تأیید قبلی برای این شناسه موفقیت آمیز بود HTTP/1.1 404 Not Found .
  • HTTP/1.1 409 Conflict .

شناسه‌های رسانه آگهی (HLS)

شناسه‌های رسانه تبلیغاتی با استفاده از کلید TXXX که برای قاب‌های «اطلاعات متنی تعریف‌شده توسط کاربر» رزرو شده، در فراداده‌های زمان‌بندی شده HLS کدگذاری می‌شوند. محتویات قاب رمزگذاری نشده خواهد بود و همیشه با متن "google_" شروع می شود.

برای هر درخواست تأیید آگهی، کل محتوای متن قاب باید به media_verification_url اضافه شود.

شناسه‌های رسانه آگهی (DASH)

شناسه‌های رسانه تبلیغاتی با استفاده از عنصر EventStream در DASH در مانیفست درج می‌شوند.

هر EventStream دارای URI Scheme ID urn:google:dai:2018 خواهد بود. آنها حاوی رویدادهایی با ویژگی messageData هستند که حاوی شناسه رسانه تبلیغاتی است که با “google_” شروع می شود. کل محتوای ویژگی messageData باید برای هر درخواست تأیید آگهی به media_verification_url اضافه شود.

داده های پاسخ

جریان

Stream برای ارائه فهرستی از تمام منابع برای یک جریان جدید ایجاد شده در قالب JSON استفاده می شود.
نمایندگی JSON
{
  "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)],
}
فیلدها
stream_id string

شناسه جریان.
total_duration number

مدت زمان پخش بر حسب ثانیه
content_duration number

مدت زمان محتوا، بدون تبلیغات، در ثانیه.
valid_for string

پخش مدت زمان در قالب «00h00m00s» معتبر است.
valid_until string

تاریخی که پخش جریانی تا زمانی که در قالب RFC 3339 معتبر است.
subtitles [object(Subtitle)]

لیستی از زیرنویس ها اگر خالی باشد حذف می شود. فقط HLS
hls_master_playlist string

(منسوخ شده) URL فهرست پخش اصلی HLS. از stream_manifest استفاده کنید. فقط HLS
stream_manifest string

مانیفست جریان مربوط به لیست پخش اصلی در HLS و MPD در DASH است. این تنها فیلدی است که علاوه بر "stream_id" در پاسخ هنگام ایجاد یک جریان نشانگر سمت سرور وجود دارد.
media_verification_url string

URL تأیید رسانه.
apple_tv object(AppleTV)

اطلاعات اختیاری مخصوص دستگاه های AppleTV. فقط HLS
ad_breaks [object(AdBreak)]

لیستی از AdBreaks. اگر خالی باشد حذف می شود.

AppleTV

AppleTV حاوی اطلاعاتی خاص برای دستگاه های Apple TV است.
نمایندگی JSON
{
  "interstitials_url": string,
}
فیلدها
interstitials_url string

URL بینابینی.

AdBreak

AdBreak یک وقفه تبلیغاتی را در جریان توصیف می کند. این شامل یک موقعیت، یک مدت، یک نوع (وسط/پیش/پست) و فهرستی از تبلیغات است.
نمایندگی JSON
{
  "type": string,
  "start": number,
  "duration": number,
  "ads": [object(Ad)],
}
فیلدها
type string

انواع استراحت معتبر عبارتند از: mid، pre و post.
start number

در جریانی که وقفه شروع می‌شود، در چند ثانیه قرار دهید.
duration number

مدت وقفه آگهی، بر حسب ثانیه.
ads [object(Ad)]

لیستی از تبلیغات اگر خالی باشد حذف می شود.
تبلیغ یک تبلیغ را در جریان توصیف می کند. این شامل موقعیت آگهی در وقفه، مدت زمان تبلیغ و برخی فراداده اختیاری است.
نمایندگی JSON
{
  "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),
}
فیلدها
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

URL از طریق کلیک اختیاری.
icons [object(Icon)]

فهرستی از نمادها که در صورت خالی بودن حذف می شوند.
wrappers [object(Wrapper)]

لیستی از Wrappers در صورت خالی بودن حذف می شود.
events [object(Event)]

لیستی از رویدادهای موجود در آگهی
verifications [object(Verification)]

ورودی‌های تأیید اندازه‌گیری باز اختیاری که منابع و ابرداده‌های مورد نیاز برای اجرای کد اندازه‌گیری شخص ثالث را برای تأیید پخش خلاق فهرست می‌کنند.
universal_ad_id object(UniversalAdID)

شناسه آگهی جهانی اختیاری.
companions [object(Companion)]

همراهان اختیاری که ممکن است همراه با این آگهی نمایش داده شوند.
interactive_file object(InteractiveFile)

خلاقیت تعاملی اختیاری (SIMID) که باید در حین پخش آگهی نمایش داده شود.
skip_metadata object(SkipMetadata)

ابرداده اختیاری برای تبلیغات قابل رد شدن. اگر تنظیم شود، این نشان می‌دهد که تبلیغ قابل رد شدن است و شامل دستورالعمل‌هایی برای نحوه مدیریت رابط کاربری پرش و رویداد ردیابی است.

رویداد

رویداد شامل یک نوع رویداد و زمان ارائه یک رویداد است.
نمایندگی JSON
{
  "time": number,
  "type": string,
}
فیلدها
time number

زمان ارائه این رویداد
type string

نوع این رویداد

زیرنویس

زیرنویس یک تراک زیرنویس خودروی کناری را برای جریان ویدئو توصیف می‌کند. دو فرمت زیرنویس را ذخیره می کند: TTML و WebVTT. ویژگی TTMLPath شامل URL فایل TTML sidecar و صفت WebVTTPath به طور مشابه حاوی URL فایل WebVTT sidecar است.
نمایندگی JSON
{
  "language": string,
  "language_name": string,
  "ttml": string,
  "webvtt": string,
}
فیلدها
language string

یک کد زبان، مانند «en» یا «de».
language_name string

نام توصیفی زبان اگر چندین مجموعه برای یک زبان وجود داشته باشد، مجموعه خاصی از زیرنویس ها را متمایز می کند
ttml string

URL اختیاری به فایل TTML sidecar.
webvtt string

URL اختیاری به فایل WebVTT sidecar.

SkipMetadata

SkipMetadata اطلاعات مورد نیاز برای مشتریان برای مدیریت رویدادهای پرش برای تبلیغات قابل رد شدن را فراهم می کند.
نمایندگی JSON
{
  "offset": number,
  "tracking_url": string,
}
فیلدها
offset number

Offset مدت زمانی را که بازیکن باید برای نمایش دکمه پرش منتظر بماند، در ثانیه نشان می دهد. اگر در VAST ارائه نشده باشد حذف می شود.
tracking_url string

TrackingURL حاوی URL است که باید در رویداد پرش پینگ شود.

نماد

نماد حاوی اطلاعاتی درباره نماد VAST است.
نمایندگی JSON
{
  "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,
}
فیلدها
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 حاوی اطلاعاتی در مورد یک نماد کلیک است.
نمایندگی JSON
{
  "url": string,
}
فیلدها
url string

Fallback Image

FallbackImage حاوی اطلاعاتی در مورد یک تصویر بازگشتی VAST است.
نمایندگی JSON
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
فیلدها
creative_type string

height int32

width int32

resource string

alt_text string

لفاف

Wrapper حاوی اطلاعاتی در مورد آگهی wrapper است. اگر شناسه معامله وجود نداشته باشد شامل نمی شود.
نمایندگی JSON
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
فیلدها
system string

شناسه سیستم تبلیغاتی
ad_id string

شناسه آگهی مورد استفاده برای آگهی بسته بندی.
creative_id string

شناسه خلاق مورد استفاده برای تبلیغ لفاف دار.
creative_ad_id string

شناسه آگهی خلاق مورد استفاده برای آگهی بسته بندی.
deal_id string

شناسه معامله اختیاری برای آگهی بسته بندی.

تأیید

راستی‌آزمایی حاوی اطلاعاتی برای «اندازه‌گیری باز» است که قابلیت مشاهده و اندازه‌گیری راستی‌آزمایی شخص ثالث را تسهیل می‌کند. در حال حاضر، فقط منابع جاوا اسکریپت پشتیبانی می شود. به https://iabtechlab.com/standards/open-measurement-sdk/ مراجعه کنید
نمایندگی JSON
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
فیلدها
vendor string

فروشنده تأیید.
java_script_resources [object(JavaScriptResource)]

فهرست منابع جاوا اسکریپت برای تأیید.
tracking_events [object(TrackingEvent)]

لیست رویدادهای ردیابی برای تأیید.
parameters string

یک رشته مات به کد تأیید بوت استرپ ارسال شد.

JavaScriptResource

JavaScriptResource حاوی اطلاعاتی برای تأیید از طریق جاوا اسکریپت است.
نمایندگی JSON
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
فیلدها
script_url string

URI به بارگذاری جاوا اسکریپت.
api_framework string

APIFramework نام چارچوب ویدیویی است که کد تأیید را اعمال می کند.
browser_optional boolean

آیا این اسکریپت می تواند خارج از مرورگر اجرا شود یا خیر.

TrackingEvent

TrackingEvent حاوی URL هایی است که در شرایط خاص باید توسط مشتری پینگ شود.
نمایندگی JSON
{
  "event": string,
  "uri": string,
}
فیلدها
event string

نوع رویداد ردیابی
uri string

رویداد ردیابی که باید پینگ شود.

UniversalAdID

UniversalAdID برای ارائه یک شناسه خلاق منحصر به فرد استفاده می شود که در سراسر سیستم های تبلیغاتی نگهداری می شود.
نمایندگی JSON
{
  "id_value": string,
  "id_registry": string,
}
فیلدها
id_value string

شناسه آگهی جهانی خلاقیت انتخاب شده برای آگهی.
id_registry string

رشته ای که برای شناسایی نشانی وب سایت رجیستری استفاده می شود که شناسه آگهی جهانی خلاقیت انتخاب شده در آن فهرست شده است.

همراه

Companion حاوی اطلاعاتی برای تبلیغات همراه است که ممکن است همراه با آگهی نمایش داده شود.
نمایندگی JSON
{
  "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)],
}
فیلدها
click_data object(ClickData)

داده های کلیک برای این همراه.
creative_type string

ویژگی CreativeType در گره <StaticResource> در VAST اگر همراهی از نوع static باشد.
height int32

ارتفاع بر حسب پیکسل این همراه.
width int32

عرض در پیکسل این همراه.
resource string

برای همراهان استاتیک و iframe این نشانی اینترنتی است که باید بارگیری و نمایش داده شود. برای همراهان HTML، این قطعه HTML است که باید به عنوان همراه نشان داده شود.
type string

نوع این همراه. می تواند ثابت، iframe یا HTML باشد.
ad_slot_id string

شناسه اسلات برای این همراه.
api_framework string

چارچوب API برای این همراه.
tracking_events [object(TrackingEvent)]

لیست رویدادهای ردیابی برای این همراه.

فایل تعاملی

InteractiveFile حاوی اطلاعاتی برای خلاقیت تعاملی (به عنوان مثال SIMID) است که باید در حین پخش آگهی نمایش داده شود.
نمایندگی JSON
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
فیلدها
resource string

URL به خلاق تعاملی.
type string

نوع MIME فایل ارائه شده به عنوان منبع.
variable_duration boolean

این خلاقیت ممکن است درخواست تمدید مدت زمان را داشته باشد.
ad_parameters string

مقدار گره <AdParameters> در VAST.