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 | 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. |