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 برای منبع محتوا و شناسه ویدیوی داده شده ایجاد می کند. یک جریان 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 | اختیاری | برای ایجاد جریانی از سمت سرور، روی |
| پارامترهای هدف 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 | stringURL تأیید رسانه. |
apple_tv | object(AppleTV)اطلاعات اختیاری مخصوص دستگاه های AppleTV. فقط HLS |
ad_breaks | [object(AdBreak)]لیستی از AdBreaks. اگر خالی باشد حذف می شود. |
AppleTV
AppleTV حاوی اطلاعاتی خاص برای دستگاه های Apple TV است.| نمایندگی JSON |
|---|
{
"interstitials_url": string,
} |
| فیلدها | |
|---|---|
interstitials_url | stringآدرس اینترنتی بینابینی. |
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),
"extensions": [],
} |
| فیلدها | |
|---|---|
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 | stringURL از طریق کلیک اختیاری. |
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)ابرداده اختیاری برای تبلیغات قابل رد شدن. اگر تنظیم شود، این نشان میدهد که تبلیغ قابل رد شدن است و شامل دستورالعملهایی برای نحوه مدیریت رابط کاربری پرش و رویداد ردیابی است. |
extensions | stringلیست اختیاری همه گره های <Extension> در VAST. |
رویداد
رویداد شامل یک نوع رویداد و زمان ارائه یک رویداد است.| نمایندگی 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 | stringURL اختیاری به فایل TTML sidecar. |
webvtt | stringURL اختیاری به فایل WebVTT sidecar. |
SkipMetadata
SkipMetadata اطلاعات مورد نیاز برای مشتریان برای مدیریت رویدادهای پرش برای تبلیغات قابل رد شدن را فراهم می کند.| نمایندگی JSON |
|---|
{
"offset": number,
"tracking_url": string,
} |
| فیلدها | |
|---|---|
offset | numberOffset مدت زمانی را که بازیکن باید برای نمایش دکمه پرش منتظر بماند، در ثانیه نشان می دهد. اگر در VAST ارائه نشده باشد حذف می شود. |
tracking_url | stringTrackingURL حاوی 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 | stringURI به بارگذاری جاوا اسکریپت. |
api_framework | stringAPIFramework نام چارچوب ویدیویی است که کد تأیید را اعمال می کند. |
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 | stringURL به خلاق تعاملی. |
type | stringنوع MIME فایل ارائه شده به عنوان منبع. |
variable_duration | booleanآیا این خلاق ممکن است درخواست تمدید مدت زمان را داشته باشد. |
ad_parameters | stringمقدار گره <AdParameters> در VAST. |