API درج تبلیغات پویا به شما امکان میدهد پخش زنده DAI را درخواست و پیگیری کنید.
سرویس: dai.google.com
همه URI ها نسبت به https://dai.google.com هستند.
روش: جریان
| روشها | |
|---|---|
stream | POST /ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/streamیک جلسه پخش زنده پاد DAI را ثبت میکند. |
درخواست HTTP
POST https://dai.google.com/ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی این رویداد را در Google Ad Manager مرتبط کرده است. |
درخواست بدنه
بدنه درخواست از نوع application/x-www-form-urlencoded است و شامل پارامترهای زیر است:
| پارامترها | ||
|---|---|---|
| پارامترهای هدفگیری DFP | اختیاری | پارامترهای هدفگذاری اضافی |
| پارامترهای جریان را نادیده بگیرید | اختیاری | مقادیر پیشفرض پارامتر ایجاد جریان را نادیده میگیرد. |
| احراز هویت HMAC | اختیاری | با استفاده از یک توکن مبتنی بر HMAC احراز هویت کنید. |
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل یک شیء Stream جدید است.
اندازهگیری باز
API DAI حاوی اطلاعاتی برای تأیید اندازهگیری باز در فیلد Verifications است. این فیلد شامل یک یا چند عنصر Verification است که منابع و فرادادههای مورد نیاز برای اجرای کد اندازهگیری شخص ثالث را به منظور تأیید پخش خلاقانه فهرست میکند. فقط JavaScriptResource پشتیبانی میشود. برای اطلاعات بیشتر، به آزمایشگاه فناوری IAB و مشخصات VAST 4.1 مراجعه کنید.
روش: قطعه غلاف
| روشها | |
|---|---|
pod segment | GET /linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}/profile/{profile_name}/{segment_number}.{segment_format}یک جریان DAI برای شناسه رویداد داده شده ایجاد میکند. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}/profile/{profile_name}/{segment_number}.{segment_format}
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی این رویداد را در Google Ad Manager مرتبط کرده است. |
pod_identifier | فرمتهای زیر پشتیبانی میشوند: pod/{integer} شناسه عددی برای تبلیغ فعلی. شناسههای پاد تبلیغ به صورت افزایشی برای هر رویداد تبلیغ، از ad_break_id/{string}شناسه رشتهای برای پخش زنده آگهی. هر شناسه پخش زنده ناشناختهای که به آن نقطه پایانی ارائه شود، یک پخش زنده جدید برای رویداد پخش زنده ایجاد میکند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
profile_name | stringنام پروفایل رمزگذاری DAI درخواستی Google Ad Manager . پروفایل رمزگذاری باید یکی از پروفایلهای رمزگذاری پیکربندیشده برای رویداد انتخابشده باشد. |
segment_number | integerاندیس بخش درخواستی در Ad pod فعلی، که از صفر شروع میشود. |
segment_format | string پسوند فایل مرتبط با قالب قطعه درخواستی. پسوندهای پذیرفته شده عبارتند از: |
پارامترهای پرس و جو
| پارامترها | ||||||
|---|---|---|---|---|---|---|
stream_id | مورد نیاز | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی | ||||
sd | required 1 | integerمدت زمان قطعه درخواستی، بر حسب میلی ثانیه. | ||||
so | اختیاری | فاصلهی زمانی قطعهی درخواستی درون ad pod، بر حسب میلیثانیه. اگر پارامتر | ||||
pd | مورد نیاز ۲ | integerمدت زمان نمایش تبلیغات (ad pod)، بر حسب میلیثانیه. | ||||
auth-token | مورد نیاز | string
| ||||
last | اختیاری | booleanآخرین بخش در متن تبلیغ را نشان میدهد. برای سایر بخشها این پارامتر را حذف کنید. | ||||
scte35 | اختیاری | stringاین تبلیغ با کد SCTE-35signal و رمزگذاری Base64 منتشر شده است. | ||||
cust_params | اختیاری | stringمجموعهای از جفتهای کلید-مقدار، که برای هدفگیری کمپین Ad Manager استفاده میشوند. این جفتها باید به صورت یک رشته پرسوجوی کدگذاری شده با url نمایش داده شوند. مثال:
| ||||
پاورقیها
- برای مقداردهی اولیهی سگمنتها نیازی به
sdنیست. ↩ - برای رویدادهایی که وقفههای تبلیغاتی بدون مدت زمان فعال هستند، نیازی به
pdنیست. ↩
مثال
دریافت کنید https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/ad_break_id/adbreak-2/profile/8b8888cf79ad43f0800482ffc035a1ac_ts_a/1.ts?so=0&sd=10000&pd=30000&stream_id=8e19cbc6-850b-404c-99d7-860aa4a674cb:TEST
دریافت کنید https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/pod/2/profile/8b8888cf79ad43f0800482ffc035a1ac_ts_a/1.ts?so=0&sd=10000&pd=30000&stream_id=8e19cbc6-850b-404c-99d7-860aa4a674cb:TEST
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ یک قطعه استریم قابل پخش خواهد بود که با قالب و پارامترهای مشخص شده در درخواست مطابقت دارد.
روش: مانیفست غلاف HLS
یک مانیفست پاد تبلیغاتی HLS از یک پخش زنده را بازیابی میکند که برای بارگذاری و پخش توسط پخشکننده ویدیوی کلاینت آماده است.
| روشها | |
|---|---|
GET | GET /linear/pods/v1/hls/network/{network_code}/custom_asset/{custom_asset}/{pod_identifier}.m3u8;API برای بازیابی لیست پخش چند متغیره HLS برای یک پاد تبلیغاتی. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/hls/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}.m3u8?stream_id={stream_id}&pd={pod_duration}
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی مرتبط با این رویداد در Google Ad Manager |
pod_identifier | فرمتهای زیر پشتیبانی میشوند: pod/{integer} شناسه عددی برای تبلیغ فعلی. شناسههای پاد تبلیغ به صورت افزایشی برای هر رویداد تبلیغ، از ad_break_id/{string}شناسه رشتهای برای پخش زنده آگهی. هر شناسه پخش زنده ناشناختهای که به آن نقطه پایانی ارائه شود، یک پخش زنده جدید برای رویداد پخش زنده ایجاد میکند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
پارامترهای پرس و جو
| پارامترها | ||||||
|---|---|---|---|---|---|---|
stream_id | مورد نیاز | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی | ||||
pd | مورد نیاز | integerمدت زمان نمایش تبلیغات (ad pod)، بر حسب میلیثانیه. | ||||
scte35 | اختیاری | stringاین تبلیغ با کد SCTE-35signal و رمزگذاری Base64 منتشر شده است. | ||||
cust_params | اختیاری | stringمجموعهای از جفتهای کلید-مقدار، که برای هدفگیری کمپین Ad Manager استفاده میشوند. این جفتها باید به صورت یک رشته پرسوجوی کدگذاری شده با url نمایش داده شوند. مثال:
| ||||
auth-token | مورد نیاز | string
| ||||
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ یک لیست پخش چند متغیره HLS خواهد بود.
روش: مانیفست غلاف DASH
یک مانیفست تبلیغاتی MPEG-DASH از یک پخش زنده را بازیابی میکند که آماده بارگذاری و پخش توسط پخشکننده ویدیوی کلاینت است.
| روشها | |
|---|---|
GET | GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset}/stream/{stream_id}/{pod_identifier}/manifest.mpdAPI برای بازیابی لیست پخش mpd MPEG-DASH برای یک پاد تبلیغاتی. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/stream/{stream_id}/pod/{pod_id}/manifest.mpd?pd={pod_duration}
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی مرتبط با این رویداد در Google Ad Manager |
stream_id | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی |
pod_identifier | فرمتهای زیر پشتیبانی میشوند: pod/{integer} شناسه عددی برای تبلیغ فعلی. شناسههای پاد تبلیغ به صورت افزایشی برای هر رویداد تبلیغ، از ad_break_id/{string}شناسه رشتهای برای پخش زنده آگهی. هر شناسه پخش زنده ناشناختهای که به آن نقطه پایانی ارائه شود، یک پخش زنده جدید برای رویداد پخش زنده ایجاد میکند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
پارامترهای پرس و جو
| پارامترها | ||||||
|---|---|---|---|---|---|---|
pd | مورد نیاز | integerمدت زمان نمایش تبلیغات (ad pod)، بر حسب میلیثانیه. | ||||
scte35 | اختیاری | stringاین تبلیغ با کد SCTE-35signal و رمزگذاری Base64 منتشر شده است. | ||||
cust_params | اختیاری | stringمجموعهای از جفتهای کلید-مقدار، که برای هدفگیری کمپین Ad Manager استفاده میشوند. این جفتها باید به صورت یک رشته پرسوجوی کدگذاری شده با url نمایش داده شوند. مثال:
| ||||
auth-token | مورد نیاز | string
| ||||
بدنه پاسخ
در صورت موفقیت، متن پاسخ یک لیست پخش mpd از نوع MPEG-DASH خواهد بود.
روش: الگوی دوره پاد DASH
| روشها | |
|---|---|
pods | GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.jsonاز مدیر تبلیغات گوگل، یک الگوی دوره DASH درخواست میکند. این الگو شامل ماکروهایی است که باید با پارامترهای جریان خود پر کنید. پس از پر شدن این ماکروها، الگو به دوره وقفه تبلیغاتی شما تبدیل میشود و میتواند در مانیفست DASH شما ادغام شود. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی این رویداد را در Google Ad Manager مرتبط کرده است. |
پارامترهای پرس و جو
| پارامترها | ||
|---|---|---|
stream_id | مورد نیاز | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی |
tv | اختیاری | integer نسخه قالب. مقدار پیشفرض
|
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل یک شیء جدید PodTemplateResponse میشود.
روش: فراداده زمانبندی پاد تبلیغاتی
| روشها | |
|---|---|
ad pod timing metadata | GET /linear/pods/v1/adv/network/{network_code}/custom_asset/{custom_asset_key}/pod.jsonفرادادههای زمانبندی غلاف تبلیغات را بازیابی میکند. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/adv/network/{network_code}/custom_asset/{custom_asset_key}/pod.json
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی مرتبط با این پخش زنده در Google Ad Manager. |
پارامترهای پرس و جو
| پارامترها | ||
|---|---|---|
stream_id | مورد نیاز | stringشناسه پخش جریان مدیر تبلیغات از برنامه پخش ویدیوی کلاینت. |
ad_break_id | مورد نیاز | stringشناسهی تبلیغ بعدی که به زودی منتشر میشود. شناسههای پخش تبلیغات توسط سرور Stitching یا VTP ارائه میشوند و باید در اعلانهای اولیه پخش تبلیغات، درخواستهای فراداده زمانبندی Ad pod و درخواستهای تغییر مسیر بخش برای پخش تبلیغات یکسان، مطابقت داشته باشند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
auth-token | مورد نیاز | string
|
timeout | اختیاری | integerتعداد میلیثانیههایی که DAI میتواند این درخواست را برای انتظار جهت تصمیمگیری در مورد تبلیغ مسدود کند. از این پارامتر در درخواستهایی استفاده کنید که باید تبلیغات پر شده را در اولین درخواست برگردانند، مانند وقفههای تبلیغاتی قبل از پخش. اگر زمان انقضای درخواست تمام شود، وضعیت آن در حالت انتظار (pending) نمایش داده میشود. در صورت وجود، مقدار timeout باید بین ۱۰۰۰ تا ۱۵۰۰۰ میلیثانیه باشد. در صورت عدم وجود، پاسخها برای تصمیمگیری در مورد تبلیغ به تأخیر نمیافتند. |
final | اختیاری | boolean تنظیم این گزینه روی پیشفرض روی |
پارامترهای تصمیمگیری در مورد تبلیغات | ||
pd | اختیاری | integerمدت زمان نمایش تبلیغ (به میلیثانیه). همچنین به عنوان مدت زمان پاد تبلیغ (ad pod duration) شناخته میشود. اگر از EABN استفاده شود، مقدار pd باید با مدت زمان ارائه شده در اعلان اعلان تبلیغاتی شما مطابقت داشته باشد. اگر مدت زمانها مطابقت نداشته باشند، مقدار EABN در اولویت قرار خواهد گرفت. |
cust_params | اختیاری | stringپارامترهای سفارشی برای هدفگیری تبلیغات لحظهای، همانطور که در مرکز راهنمای مدیر تبلیغات توضیح داده شده است. |
scte35 | اختیاری | stringیک سیگنال SCTE-35 کدگذاری شده با base64. اگر سیگنال نامعتبر باشد، پیامی در هدر HTTP مربوط به |
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل یک شیء جدید AdPodTimingMetadataResponse میشود.
روش: تأیید رسانهای
پس از مواجهه با شناسه رسانه تبلیغاتی در حین پخش، فوراً با استفاده از media_verification_url که از نقطه پایانی جریان در بالا به دست آمده است، درخواستی ارسال کنید. این درخواستها برای جریانهای beaconing سمت سرور، که در آن سرور تأیید رسانه را آغاز میکند، ضروری نیستند.
درخواستها به نقطه پایانی media verification خود-توان (idempotent) هستند.
| روشها | |
|---|---|
media verification | GET /{media_verification_url}/{ad_media_id}API را از یک رویداد تأیید رسانه مطلع میکند. |
درخواست HTTP
GET https://{media-verification-url}/{ad-media-id}
بدنه پاسخ
media verification پاسخهای زیر را برمیگرداند:
-
HTTP/1.1 204 No Content. - اگر درخواست به دلیل قالببندی نادرست یا انقضای URL نتواند رسانه را تأیید کند
HTTP/1.1 404 Not Found. - اگر درخواست تأیید قبلی برای این شناسه موفقیتآمیز بود،
HTTP/1.1 404 Not Found. -
HTTP/1.1 409 Conflict.
شناسههای رسانههای تبلیغاتی
شناسههای رسانههای تبلیغاتی در یک مسیر فراداده جداگانه کدگذاری میشوند - فراداده زمانبندیشده برای جریان انتقال HLS یا emsg برای فایلهای mp4. شناسههای رسانههای تبلیغاتی همیشه با رشته google_ شروع میشوند.
قبل از ارسال هر درخواست تأیید تبلیغ، کل محتوای متنی ورودی فراداده باید به URL تأیید تبلیغ پیوست شود.
روش: فراداده
نقطه پایانی فراداده در metadata_url اطلاعات مورد استفاده برای ساخت رابط کاربری تبلیغ را برمیگرداند. نقطه پایانی فراداده برای جریانهای ارسال سیگنال سمت سرور، که در آن سرور مسئول شروع تأیید رسانه تبلیغ است، در دسترس نیست.
| روشها | |
|---|---|
metadata | GET /{metadata_url}/{ad-media-id}GET /{metadata_url}اطلاعات فراداده تبلیغ را بازیابی میکند. |
درخواست HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
پارامترهای پرس و جو
| پارامترها | ||
|---|---|---|
delta_token | اختیاری | string یک توکن مبهم که وضعیت همگامسازی فعلی کلاینت را نشان میدهد. در صورت ارائه، سرور فقط فرادادههایی را که از زمان تولید توکن تغییر کردهاند، همراه با یک |
بدنه پاسخ
در صورت موفقیت، پاسخ، نمونهای از PodMetadata را برمیگرداند.
تجزیه فراداده
متادیتا سه بخش مجزا دارد: tags ، ads و breaks تبلیغاتی. نقطه ورود به دادهها، بخش tags است. از آنجا، از طریق برچسبها حرکت کنید و اولین ورودی را که نام آن پیشوندی برای شناسه رسانه تبلیغاتی موجود در جریان ویدیو است، پیدا کنید. به عنوان مثال، ممکن است شناسه رسانه تبلیغاتی شما به شکل زیر باشد:
google_1234567890
سپس یک شیء برچسب به نام google_12345 پیدا میکنید. در این حالت، با شناسه رسانه تبلیغاتی شما مطابقت دارد. هنگامی که شیء پیشوند رسانه تبلیغاتی صحیح را پیدا کردید، میتوانید شناسههای تبلیغات، شناسههای وقفههای تبلیغاتی و نوع رویداد را جستجو کنید. سپس شناسههای تبلیغات برای فهرستبندی اشیاء ads و شناسههای وقفههای تبلیغاتی برای فهرستبندی اشیاء breaks استفاده میشوند.
اشیاء API
جریان
از Stream برای رندر کردن لیستی از منابع برای یک Stream تازه ایجاد شده در قالب JSON استفاده میشود.| نمایش JSON |
|---|
{
"stream_id": string,
"media_verification_url": string,
"metadata_url": string,
"session_update_url": string,
"heartbeat_url": string,
"polling_frequency": number,
"pod_manifest_url": string,
"manifest_format": string,
} |
| فیلدها | |
|---|---|
stream_id | stringشناسه جریان GAM. |
media_verification_url | stringURL تأیید رسانه که به عنوان نقطه پایانی پایه برای ردیابی رویدادهای پخش استفاده میشود. |
metadata_url | stringنشانی اینترنتی فراداده که برای نظرسنجی جهت کسب اطلاعات دورهای در مورد رویدادهای آتی تبلیغات استریم استفاده میشود. |
session_update_url | stringURL بهروزرسانی جلسه که برای بهروزرسانی پارامترهای هدفگیری برای این جریان استفاده میشود. مقادیر اصلی پارامترهای هدفگیری در طول درخواست اولیه ایجاد جریان دریافت میشوند. |
heartbeat_url | stringURL ضربان قلب، که برای فعال نگه داشتن جریان سیگنالهای رادیویی سمت سرور استفاده میشود، باید هر {PollingFrequency} ثانیه پینگ شود. برای جریانهای رادیویی سمت سرور پر میشود. |
polling_frequency | numberفرکانس رایگیری، بر حسب ثانیه، هنگام درخواست metadata_url یا heartbeat_url. |
pod_manifest_url | stringالگوی URL مانیفست پاد برای تولید URL جهت بازیابی مانیفست پاد یک استریم، مطابق با URL لیست پخش چند متغیره در HLS یا MPD در DASH، استفاده میشود. برای رویدادهای پخش زنده از نوع درج آگهی پویا POD_SERVING_MANIFEST پر شده است. https://developers.google.com/ad-manager/api/reference/v202305/LiveStreamEventService.DynamicAdInsertionType |
manifest_format | stringقالب مانیفست، قالب مانیفست بازیابی شده از pod_manifest_url است که میتواند dash یا hls باشد. |
پادفراداده
PodMetadata حاوی اطلاعات فراداده در مورد تبلیغات، وقفههای تبلیغاتی و برچسبهای شناسه رسانه است.| نمایش JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| فیلدها | |
|---|---|
tags | map[string, object(TagSegment)]نقشه بخشهای برچسب که بر اساس پیشوند برچسب فهرستبندی شدهاند. |
ads | map[string, object(Ad)]نقشه آگهیهای فهرستبندیشده بر اساس شناسه آگهی. |
ad_breaks | map[string, object(AdBreak)]نقشهی وقفههای تبلیغاتی فهرستبندیشده بر اساس شناسهی وقفهی تبلیغاتی. |
next_delta_token | stringیک توکن غیرشفاف برای استفاده کلاینت در نظرسنجی بعدی. |
obsolete_ad_break_ids | stringفهرستی از شناسههای تبلیغات مزاحم که منسوخ شدهاند و باید از حافظه پنهان کلاینت حذف شوند. |
تگ سگمنت
TagSegment حاوی ارجاعی به یک تبلیغ، بخش تبلیغ آن و نوع رویداد است. TagSegment با نوع "progress" نباید به نقطه پایانی تأیید رسانه تبلیغ پینگ شود.| نمایش JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| فیلدها | |
|---|---|
ad | stringشناسهی تبلیغ این تگ. |
ad_break_id | stringشناسهی تبلیغ این تگ. |
type | stringنوع رویداد این تگ. |
ادبریک
AdBreak یک تبلیغ واحد را در جریان نمایش توصیف میکند که شامل مدت زمان، نوع (میانه/قبل/بعد) و تعداد تبلیغات است.| نمایش JSON |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| فیلدها | |
|---|---|
type | stringانواع معتبر استراحت عبارتند از: قبل، وسط و بعد. |
duration | numberمدت زمان کل تبلیغ برای این بخش تبلیغاتی، بر حسب ثانیه. |
expected_duration | numberمدت زمان مورد انتظار برای پخش آگهی (به ثانیه)، شامل تمام آگهیها و هرگونه برنامهی زمانی. |
ads | numberتعداد تبلیغات در متن آگهی. |
آگهی
تبلیغ، تبلیغی را در جریان توصیف میکند.| نمایش JSON |
|---|
{
"ad_break_id": string,
"position": 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,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| فیلدها | |
|---|---|
ad_break_id | stringشناسهی بخش تبلیغاتی این آگهی. |
position | 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آدرس اینترنتی کلیک اختیاری. |
click_tracking_urls | stringURL های ردیابی کلیک اختیاری. |
verifications | [object(Verification)]ورودیهای تأیید اندازهگیری باز اختیاری که منابع و فرادادههای مورد نیاز برای اجرای کد اندازهگیری شخص ثالث را برای تأیید پخش خلاقانه فهرست میکنند. |
slate | booleanبولی اختیاری که نشان میدهد ورودی فعلی تخته سنگ است. |
icons | [object(Icon)]فهرستی از آیکونها، که در صورت خالی بودن، حذف میشوند. |
wrappers | [object(Wrapper)]فهرستی از Wrapperها که در صورت خالی بودن، حذف میشوند. |
universal_ad_id | object(UniversalAdID)شناسه تبلیغ جهانی اختیاری. |
extensions | stringلیست اختیاری تمام گرههای <Extension> در VAST. |
companions | [object(Companion)]همراهان اختیاری که ممکن است همراه با این تبلیغ نمایش داده شوند. |
interactive_file | object(InteractiveFile)خلاقیت تعاملی اختیاری (SIMID) که باید هنگام پخش تبلیغ نمایش داده شود. |
پاسخ قالب پاد
PodTemplateResponse نشاندهندهی بار دادهی JSON است که برای ادغام در pod به یک VTP برگردانده میشود.| نمایش JSON |
|---|
{
"dash_period_template": string,
"segment_duration_ms": int64,
} |
| فیلدها | |
|---|---|
dash_period_template | stringDashPeriodTemplate یک قالب xml برای دوره زمانی است که باید قبل از ادغام با دادههای مناسب پر شود. |
segment_duration_ms | int64SegmentDurationMS مدت زمان بخشهای دوره را بر حسب میلیثانیه نشان میدهد. |
پاسخ AdpodTimingMetadata
AdpodTimingMetadataResponse حاوی اطلاعاتی در مورد Ad Pod و نحوه ساخت URL های سگمنت برای آن است.| نمایش JSON |
|---|
{
"status": string,
"ads": [object(AdRendering)],
"slate": object(SlateRendering),
"dash_representations": map[string, object(DASHRepresentation)],
"dash_adaptation_sets": map[string, object(DASHAdaptationSet)],
} |
| فیلدها | |
|---|---|
status | stringوضعیت تصمیمگیری برای پاد تبلیغات. |
ads | [object(AdRendering)]آرایهای از اشیاء تبلیغاتی که نحوه رندر کردن آدرسهای اینترنتی بخش تبلیغات را توصیف میکند و از ۰ شروع به فهرستبندی میکند. |
slate | object(SlateRendering)Slate نحوه رندر کردن آدرسهای اینترنتی بخش Slate را شرح میدهد. |
dash_representations | map[string, object(DASHRepresentation)]فهرست نمایشهای دش برای آن پاد تبلیغاتی که قرار است در مانیفستهای دش نمایش داده شوند. |
dash_adaptation_sets | map[string, object(DASHAdaptationSet)]فهرست مجموعههای سازگاری DASH برای آن پاد تبلیغاتی که قرار است در مانیفستهای DASH نمایش داده شود. |
رندر تبلیغاتی
AdRendering نحوه رندر کردن یک تبلیغ تصمیمگیریشده را شرح میدهد.| نمایش JSON |
|---|
{ "duration_ms": number, "variants": map[string, object(VariantRendering)], } |
| فیلدها | |
|---|---|
duration_ms | numberمدت زمان نمایش تبلیغ، بر حسب میلیثانیه (int). |
variants | map[string, object(VariantRendering)]دیکشنری اشیاء Variant (به پایین مراجعه کنید)، که توسط شناسه variant/profile، همانطور که از رابط کاربری پیکربندی شده است، فهرست بندی شده است. |
رندر تخته سنگی
SlateRendering نحوه رندر کردن محتوای slate را شرح میدهد.| نمایش JSON |
|---|
{ "duration_ms": number, "variants": map[string, object(VariantRendering)], } |
| فیلدها | |
|---|---|
duration_ms | numberمدت زمان نمایش صفحه، بر حسب میلیثانیه (int). |
variants | map[string, object(VariantRendering)]دیکشنری اشیاء Variant، که بر اساس شناسه variant/profile فهرستبندی شده است. مدت زمانهای Slate باید تا رسیدن به طول Slate مورد نیاز، تکرار شوند، ناپیوستگیهای HLS بین تکرارها وارد شوند، یا دورههای جدید برای MPEG-DASH تکرار شوند. |
رندرینگ متغیر
VariantRendering یک نوع/پروفایل را در داخل آگهی/صفحه توصیف میکند.| نمایش JSON |
|---|
{
"segment_extension": string,
"segment_durations": object(SegmentDurations),
} |
| فیلدها | |
|---|---|
segment_extension | stringرشته، یکی از: ts، mp4، aac، ac3، ec3، m4a، m4v. پسوند نام فایل، بخشی از URL های بخش. |
segment_durations | object(SegmentDurations)اشیاء SegmentDurations. مدت زمان هر بخش را میتوان به یک URL بخش ترجمه کرد. |
مدت زمان بخشها
SegmentDurations مدت زمان یک توالی از بخشها را در یک واحد زمانی مشخص توصیف میکند.| نمایش JSON |
|---|
{
"timescale": number,
"values": [],
} |
| فیلدها | |
|---|---|
timescale | numberمقیاس زمانی تعداد واحدها در ثانیه (عدد صحیح) است. مقدار مورد انتظار: ۱۰۰۰ برای HLS (میلی ثانیه) ۹۰۰۰۰ برای ویدیوی DASH (PTS) نرخ نمونهبرداری صدا برای صدای DASH. |
values | numberآرایهای از مدت زمان بخشهای عدد صحیح، در واحدهای مقیاس زمانی. |
نمایندگی DASH
DASHRepresentation گرههای نمایشی را که باید در مانیفستهای DASH ارائه شوند، توصیف میکند.| نمایش JSON |
|---|
{
"codecs": string,
"bandwidth": number,
"width": number,
"height": number,
"frame_rate": string,
"audio_sampling_rate": number,
"audio_channel_config": object(SchemeIDURIAndValue),
} |
| فیلدها | |
|---|---|
codecs | stringکدکهای نمایش. |
bandwidth | numberپهنای باند نمایش. |
width | numberعرض بازنمایی. |
height | numberارتفاع نمایش. |
frame_rate | stringنرخ فریم نمایش. |
audio_sampling_rate | numberنرخ نمونهبرداری صوتی نمایش. |
audio_channel_config | object(SchemeIDURIAndValue)پیکربندی کانال صوتی نمایش. |
مجموعه تطبیق DASH
DASHAdaptationSet گرههای AdaptationSet را که باید در مانیفستهای DASH رندر شوند، توصیف میکند.| نمایش JSON |
|---|
{ "content_type": string, "mime_type": string, "role": object(SchemeIDURIAndValue), "inband_event_stream": object(SchemeIDURIAndValue), "min_frame_rate": string, "max_frame_rate": string, "scan_type": string, "start_with_sap": string, "segment_alignment": boolean, "representations": [], } |
| فیلدها | |
|---|---|
content_type | stringنوع محتوای مجموعه اقتباس. |
mime_type | stringنوع MIME مجموعه تطبیق. |
role | object(SchemeIDURIAndValue)نقش مجموعه تطبیق. |
inband_event_stream | object(SchemeIDURIAndValue)جریان رویداد درونگروهی مجموعه تطبیق. |
min_frame_rate | stringحداقل نرخ فریم مجموعه اقتباس. |
max_frame_rate | stringحداکثر نرخ فریم مجموعه تطبیق. |
scan_type | stringنوع اسکن مجموعه تطبیق. |
start_with_sap | stringبا SAP از مجموعه تطبیق شروع کنید. |
segment_alignment | booleanترازبندی قطعهای مجموعه تطبیق. |
representations | stringبازنماییهای مجموعه تطبیق. |
طرح IDURIAndValue
SchemeIDURIAndValue جفتی از شناسه طرح و مقدار آن است.| نمایش JSON |
|---|
{
"scheme_id_uri": string,
"value": string,
} |
| فیلدها | |
|---|---|
scheme_id_uri | stringشناسه طرحواره (Schema ID URI) مربوط به مقدار. |
value | stringمقدار شناسه طرح URI. |
آیکون
آیکون حاوی اطلاعاتی در مورد یک آیکون 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 حاوی اطلاعاتی در مورد میزان کلیک روی یک آیکون است.| نمایش JSON |
|---|
{
"url": string,
} |
| فیلدها | |
|---|---|
url | string |
تصویر جایگزین
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 شامل اطلاعاتی برای تأیید از طریق جاوا اسکریپت است.| نمایش JSON |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| فیلدها | |
|---|---|
script_url | stringURI به محتوای جاوا اسکریپت. |
api_framework | stringAPIFramework نام چارچوب ویدیویی است که کد تأیید را اعمال میکند. |
browser_optional | booleanآیا این اسکریپت میتواند خارج از مرورگر اجرا شود؟ |
رویداد ردیابی
TrackingEvent شامل URLهایی است که باید در شرایط خاص توسط کلاینت پینگ شوند.| نمایش JSON |
|---|
{
"event": string,
"uri": string,
} |
| فیلدها | |
|---|---|
event | stringنوع رویداد ردیابی. |
uri | stringرویداد ردیابی که قرار است پینگ شود. |
یونیورسال اد آی دی
UniversalAdID برای ارائه یک شناسه خلاقانه منحصر به فرد که در سراسر سیستمهای تبلیغاتی حفظ میشود، استفاده میشود.| نمایش JSON |
|---|
{ "id_value": string, "id_registry": string, } |
| فیلدها | |
|---|---|
id_value | stringشناسه جهانی تبلیغ مربوط به طرح تبلیغاتی انتخاب شده برای تبلیغ. |
id_registry | stringرشتهای که برای شناسایی نشانی اینترنتی وبسایت ثبت آگهی استفاده میشود، جایی که شناسه جهانی آگهی خلاق انتخابشده در آن فهرستبندی شده است. |
همراه
«همراه» حاوی اطلاعاتی برای تبلیغات همراه است که ممکن است همراه با تبلیغ نمایش داده شوند.| نمایش 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، اگر این یک همراه از نوع استاتیک باشد. |
height | int32ارتفاع این همراه بر حسب پیکسل. |
width | int32عرض این همراه بر حسب پیکسل. |
resource | stringبرای همراهان استاتیک و iframe، این URL ای خواهد بود که بارگذاری و نمایش داده میشود. برای همراهان 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. |
API درج تبلیغات پویا به شما امکان میدهد پخش زنده DAI را درخواست و پیگیری کنید.
سرویس: dai.google.com
همه URI ها نسبت به https://dai.google.com هستند.
روش: جریان
| روشها | |
|---|---|
stream | POST /ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/streamیک جلسه پخش زنده پاد DAI را ثبت میکند. |
درخواست HTTP
POST https://dai.google.com/ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی این رویداد را در Google Ad Manager مرتبط کرده است. |
درخواست بدنه
بدنه درخواست از نوع application/x-www-form-urlencoded است و شامل پارامترهای زیر است:
| پارامترها | ||
|---|---|---|
| پارامترهای هدفگیری DFP | اختیاری | پارامترهای هدفگذاری اضافی |
| پارامترهای جریان را نادیده بگیرید | اختیاری | مقادیر پیشفرض پارامتر ایجاد جریان را نادیده میگیرد. |
| احراز هویت HMAC | اختیاری | با استفاده از یک توکن مبتنی بر HMAC احراز هویت کنید. |
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل یک شیء Stream جدید است.
اندازهگیری باز
API DAI حاوی اطلاعاتی برای تأیید اندازهگیری باز در فیلد Verifications است. این فیلد شامل یک یا چند عنصر Verification است که منابع و فرادادههای مورد نیاز برای اجرای کد اندازهگیری شخص ثالث را به منظور تأیید پخش خلاقانه فهرست میکند. فقط JavaScriptResource پشتیبانی میشود. برای اطلاعات بیشتر، به آزمایشگاه فناوری IAB و مشخصات VAST 4.1 مراجعه کنید.
روش: قطعه غلاف
| روشها | |
|---|---|
pod segment | GET /linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}/profile/{profile_name}/{segment_number}.{segment_format}یک جریان DAI برای شناسه رویداد داده شده ایجاد میکند. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}/profile/{profile_name}/{segment_number}.{segment_format}
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی این رویداد را در Google Ad Manager مرتبط کرده است. |
pod_identifier | فرمتهای زیر پشتیبانی میشوند: pod/{integer} شناسه عددی برای تبلیغ فعلی. شناسههای پاد تبلیغ به صورت افزایشی برای هر رویداد تبلیغ، از ad_break_id/{string}شناسه رشتهای برای پخش زنده آگهی. هر شناسه پخش زنده ناشناختهای که به آن نقطه پایانی ارائه شود، یک پخش زنده جدید برای رویداد پخش زنده ایجاد میکند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
profile_name | stringنام پروفایل رمزگذاری DAI درخواستی Google Ad Manager . پروفایل رمزگذاری باید یکی از پروفایلهای رمزگذاری پیکربندیشده برای رویداد انتخابشده باشد. |
segment_number | integerاندیس بخش درخواستی در Ad pod فعلی، که از صفر شروع میشود. |
segment_format | string پسوند فایل مرتبط با قالب قطعه درخواستی. پسوندهای پذیرفته شده عبارتند از: |
پارامترهای پرس و جو
| پارامترها | ||||||
|---|---|---|---|---|---|---|
stream_id | مورد نیاز | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی | ||||
sd | required 1 | integerمدت زمان قطعه درخواستی، بر حسب میلی ثانیه. | ||||
so | اختیاری | فاصلهی زمانی قطعهی درخواستی درون ad pod، بر حسب میلیثانیه. اگر پارامتر | ||||
pd | مورد نیاز ۲ | integerمدت زمان نمایش تبلیغات (ad pod)، بر حسب میلیثانیه. | ||||
auth-token | مورد نیاز | string
| ||||
last | اختیاری | booleanآخرین بخش در متن تبلیغ را نشان میدهد. برای سایر بخشها این پارامتر را حذف کنید. | ||||
scte35 | اختیاری | stringاین تبلیغ با کد SCTE-35signal و رمزگذاری Base64 منتشر شده است. | ||||
cust_params | اختیاری | stringمجموعهای از جفتهای کلید-مقدار، که برای هدفگیری کمپین Ad Manager استفاده میشوند. این جفتها باید به صورت یک رشته پرسوجوی کدگذاری شده با url نمایش داده شوند. مثال:
| ||||
پاورقیها
- برای مقداردهی اولیهی سگمنتها نیازی به
sdنیست. ↩ - برای رویدادهایی که وقفههای تبلیغاتی بدون مدت زمان فعال هستند، نیازی به
pdنیست. ↩
مثال
دریافت کنید https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/ad_break_id/adbreak-2/profile/8b8888cf79ad43f0800482ffc035a1ac_ts_a/1.ts?so=0&sd=10000&pd=30000&stream_id=8e19cbc6-850b-404c-99d7-860aa4a674cb:TEST
دریافت کنید https://dai.google.com/linear/pods/v1/seg/network/sandbox_dev/custom_asset/podserving-segredirect-custom-key/pod/2/profile/8b8888cf79ad43f0800482ffc035a1ac_ts_a/1.ts?so=0&sd=10000&pd=30000&stream_id=8e19cbc6-850b-404c-99d7-860aa4a674cb:TEST
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ یک قطعه استریم قابل پخش خواهد بود که با قالب و پارامترهای مشخص شده در درخواست مطابقت دارد.
روش: مانیفست غلاف HLS
یک مانیفست پاد تبلیغاتی HLS از یک پخش زنده را بازیابی میکند که برای بارگذاری و پخش توسط پخشکننده ویدیوی کلاینت آماده است.
| روشها | |
|---|---|
GET | GET /linear/pods/v1/hls/network/{network_code}/custom_asset/{custom_asset}/{pod_identifier}.m3u8;API برای بازیابی لیست پخش چند متغیره HLS برای یک پاد تبلیغاتی. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/hls/network/{network_code}/custom_asset/{custom_asset_key}/{pod_identifier}.m3u8?stream_id={stream_id}&pd={pod_duration}
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی مرتبط با این رویداد در Google Ad Manager |
pod_identifier | فرمتهای زیر پشتیبانی میشوند: pod/{integer} شناسه عددی برای تبلیغ فعلی. شناسههای پاد تبلیغ به صورت افزایشی برای هر رویداد تبلیغ، از ad_break_id/{string}شناسه رشتهای برای پخش زنده آگهی. هر شناسه پخش زنده ناشناختهای که به آن نقطه پایانی ارائه شود، یک پخش زنده جدید برای رویداد پخش زنده ایجاد میکند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
پارامترهای پرس و جو
| پارامترها | ||||||
|---|---|---|---|---|---|---|
stream_id | مورد نیاز | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی | ||||
pd | مورد نیاز | integerمدت زمان نمایش تبلیغات (ad pod)، بر حسب میلیثانیه. | ||||
scte35 | اختیاری | stringاین تبلیغ با کد SCTE-35signal و رمزگذاری Base64 منتشر شده است. | ||||
cust_params | اختیاری | stringمجموعهای از جفتهای کلید-مقدار، که برای هدفگیری کمپین Ad Manager استفاده میشوند. این جفتها باید به صورت یک رشته پرسوجوی کدگذاری شده با url نمایش داده شوند. مثال:
| ||||
auth-token | مورد نیاز | string
| ||||
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ یک لیست پخش چند متغیره HLS خواهد بود.
روش: مانیفست غلاف DASH
یک مانیفست تبلیغاتی MPEG-DASH از یک پخش زنده را بازیابی میکند که آماده بارگذاری و پخش توسط پخشکننده ویدیوی کلاینت است.
| روشها | |
|---|---|
GET | GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset}/stream/{stream_id}/{pod_identifier}/manifest.mpdAPI برای بازیابی لیست پخش mpd MPEG-DASH برای یک پاد تبلیغاتی. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/stream/{stream_id}/pod/{pod_id}/manifest.mpd?pd={pod_duration}
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی مرتبط با این رویداد در Google Ad Manager |
stream_id | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی |
pod_identifier | فرمتهای زیر پشتیبانی میشوند: pod/{integer} شناسه عددی برای تبلیغ فعلی. شناسههای پاد تبلیغ به صورت افزایشی برای هر رویداد تبلیغ، از ad_break_id/{string}شناسه رشتهای برای پخش زنده آگهی. هر شناسه پخش زنده ناشناختهای که به آن نقطه پایانی ارائه شود، یک پخش زنده جدید برای رویداد پخش زنده ایجاد میکند. محدودیتهای زیر برای شناسههای سفارشی adbreak اعمال میشود:
|
پارامترهای پرس و جو
| پارامترها | ||||||
|---|---|---|---|---|---|---|
pd | مورد نیاز | integerمدت زمان نمایش تبلیغات (ad pod)، بر حسب میلیثانیه. | ||||
scte35 | اختیاری | stringاین تبلیغ با کد SCTE-35signal و رمزگذاری Base64 منتشر شده است. | ||||
cust_params | اختیاری | stringمجموعهای از جفتهای کلید-مقدار، که برای هدفگیری کمپین Ad Manager استفاده میشوند. این جفتها باید به صورت یک رشته پرسوجوی کدگذاری شده با url نمایش داده شوند. مثال:
| ||||
auth-token | مورد نیاز | string
| ||||
بدنه پاسخ
در صورت موفقیت، متن پاسخ یک لیست پخش mpd از نوع MPEG-DASH خواهد بود.
روش: الگوی دوره پاد DASH
| روشها | |
|---|---|
pods | GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.jsonاز مدیر تبلیغات گوگل، یک الگوی دوره DASH درخواست میکند. این الگو شامل ماکروهایی است که باید با پارامترهای جریان خود پر کنید. پس از پر شدن این ماکروها، الگو به دوره وقفه تبلیغاتی شما تبدیل میشود و میتواند در مانیفست DASH شما ادغام شود. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی این رویداد را در Google Ad Manager مرتبط کرده است. |
پارامترهای پرس و جو
| پارامترها | ||
|---|---|---|
stream_id | مورد نیاز | string شناسه جریان برای جلسه کاربر فعلی. این مقدار با یک درخواست موفق به نقطه پایانی |
tv | اختیاری | integer نسخه قالب. مقدار پیشفرض
|
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل یک شیء جدید PodTemplateResponse میشود.
روش: فراداده زمانبندی پاد تبلیغاتی
| روشها | |
|---|---|
ad pod timing metadata | GET /linear/pods/v1/adv/network/{network_code}/custom_asset/{custom_asset_key}/pod.jsonفرادادههای زمانبندی غلاف تبلیغات را بازیابی میکند. |
درخواست HTTP
GET https://dai.google.com/linear/pods/v1/adv/network/{network_code}/custom_asset/{custom_asset_key}/pod.json
پارامترهای مسیر
| پارامترها | |
|---|---|
network_code | stringکد شبکه Google Ad Manager ناشر. |
custom_asset_key | stringشناسه سفارشی مرتبط با این پخش زنده در Google Ad Manager. |
پارامترهای پرس و جو
| پارامترها | ||
|---|---|---|
stream_id | مورد نیاز | stringThe Ad Manager stream ID from the client video player app. |
ad_break_id | مورد نیاز | stringThe next upcoming ad break ID. Ad break IDs are provided by the Stitching server or VTP, and must match across early ad break notifications, ad pod timing metadata requests, and segment redirect requests for the same ad break. The following restrictions apply to custom adbreak IDs:
|
auth-token | مورد نیاز | string The
|
timeout | optional | integerThe number of milliseconds that DAI can block this request to wait for ad decisioning. Use this parameter on requests that must return populated ads on the first request, such as pre-roll ad breaks. If timeout is exceeded, the request returns a status of pending. If included, the timeout value must be between 1000 and 15000 milliseconds. If omitted, responses are not delayed to wait for ad decisioning. |
final | optional | boolean Set to Defaults to |
Ad decisioning parameters | ||
pd | optional | integerThe duration of the ad break (in milliseconds). Also referred to as ad pod duration. If EABN is used, the pd value must match the duration provided in your ad break notification. If the durations don't match, the EABN value will be given priority. |
cust_params | optional | stringCustom parameters for ad break targeting, as described in the Ad Manager Help Center . |
scte35 | optional | stringA base64-encoded SCTE-35 signal. If the signal is invalid, a message will be sent in the |
بدنه پاسخ
If successful, the response body contains a new AdPodTimingMetadataResponse object.
Method: media verification
After encountering an ad media identifier during playback, immediately make a request using the media_verification_url obtained from the stream endpoint, above. These requests aren't necessary for server-side-beaconing streams, where the server initiates media verification.
Requests to the media verification endpoint are idempotent.
| روشها | |
|---|---|
media verification | GET /{media_verification_url}/{ad_media_id}Notifies the API of a media verification event. |
درخواست HTTP
GET https://{media-verification-url}/{ad-media-id}
بدنه پاسخ
media verification returns the following responses:
-
HTTP/1.1 204 No Contentif media verification succeeds and all pings are sent. -
HTTP/1.1 404 Not Foundif the request can't verify the media due to incorrect URL formatting or expiration. -
HTTP/1.1 404 Not Foundif a previous verification request for this ID succeeded. -
HTTP/1.1 409 Conflictif another request is already sending pings at this time.
Ad media IDs
Ad media identifiers will be encoded in a separate metadata track — timed metadata for HLS transport stream, or emsg for mp4 files. Ad media identifiers will always begin with the string google_ .
The entire text contents of the metadata entry should be appended to the ad verification URL prior to making each ad verification request.
Method: metadata
The metadata endpoint at metadata_url returns information used to build an ad UI. The metadata endpoint isn't available for server-side-beaconing streams, where the server is responsible for initiating ad media verification.
| روشها | |
|---|---|
metadata | GET /{metadata_url}/{ad-media-id}GET /{metadata_url}Retrieves ad metadata information. |
درخواست HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Query parameters
| پارامترها | ||
|---|---|---|
delta_token | optional | string An opaque token representing the client's current synchronization state. If provided, the server returns only the metadata that has changed since the token was generated, along with a new |
بدنه پاسخ
If successful, the response returns an instance of PodMetadata .
Parsing Metadata
Metadata has three discrete sections: tags , ads , and ad breaks . The entry point into the data is the tags section. From there, iterate through the tags and find the first entry whose name is a prefix for the ad media ID found in the video stream. For example, you might have an ad media ID that looks like:
google_1234567890
Then you find a tag object named google_12345 . In this case, it matches your ad media id. Once you find the correct ad media prefix object, you can look up ad ids, ad break ids, and the event type. Ad ids are then used to index the ads objects and ad break ids are used to index the breaks objects.
API Objects
جریان
Stream is used to render a list of resources for a newly created stream in JSON format.| نمایش JSON |
|---|
{
"stream_id": string,
"media_verification_url": string,
"metadata_url": string,
"session_update_url": string,
"heartbeat_url": string,
"polling_frequency": number,
"pod_manifest_url": string,
"manifest_format": string,
} |
| فیلدها | |
|---|---|
stream_id | stringThe GAM stream identifier. |
media_verification_url | stringThe media verification URL used as base endpoint for tracking playback events. |
metadata_url | stringMetadata URL used to poll for periodic information about upcoming stream ad events. |
session_update_url | stringThe session's update URL used to update the targeting parameters for this stream. The original values for the targeting parameters are captured during the initial stream create request. |
heartbeat_url | stringThe heartbeat URL, used to keep the server side beaconing stream alive, it must be pinged every {PollingFrequency} seconds. Populated for server side beaconing streams. |
polling_frequency | numberThe polling frequency, in seconds, when requesting metadata_url or heartbeat_url. |
pod_manifest_url | stringThe pod manifest URL template is used to generate the URL to retrieve a stream's pod manifest, corresponding to the URL of the multivariant playlist in HLS or the MPD in DASH. Populated for Livestream events of Dynamic Ad Insertion type POD_SERVING_MANIFEST. https://developers.google.com/ad-manager/api/reference/v202305/LiveStreamEventService.DynamicAdInsertionType |
manifest_format | stringManifest format is the format of the manifest retrieved from pod_manifest_url, either dash or hls. |
PodMetadata
PodMetadata contains metadata information on ads, ad breaks, and media ID tags.| نمایش JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| فیلدها | |
|---|---|
tags | map[string, object(TagSegment)]Map of tag segments indexed by tag prefix. |
ads | map[string, object(Ad)]Map of ads indexed by ad ID. |
ad_breaks | map[string, object(AdBreak)]Map of ad breaks indexed by ad break ID. |
next_delta_token | stringAn opaque token for the client to use on the next poll. |
obsolete_ad_break_ids | stringA list of ad break IDs that are obsolete and should be removed from the client's cache. |
TagSegment
TagSegment contains a reference to an ad, its ad break, and event type. TagSegment with type="progress" should not be pinged to the ad media verification endpoint.| نمایش JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| فیلدها | |
|---|---|
ad | stringThe ID of this tag's ad. |
ad_break_id | stringThe ID of this tag's ad break. |
type | stringThis tag's event type. |
AdBreak
AdBreak describes a single ad break in the stream. It contains a duration, a type (mid/pre/post) and the number of ads.| نمایش JSON |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| فیلدها | |
|---|---|
type | stringValid break types are: pre, mid, and post. |
duration | numberTotal ad duration for this ad break, in seconds. |
expected_duration | numberExpected duration of the ad break (in seconds), including all ads and any slate. |
ads | numberNumber of ads in the ad break. |
آگهی
Ad describes an ad in the stream.| نمایش JSON |
|---|
{
"ad_break_id": string,
"position": 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,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| فیلدها | |
|---|---|
ad_break_id | stringThe ID of this ad's ad break. |
position | numberPosition of this ad in the ad break, starting at 1. |
duration | numberDuration of the ad, in seconds. |
title | stringOptional title of the ad. |
description | stringOptional description of the ad. |
advertiser | stringOptional advertiser identifier. |
ad_system | stringOptional ad system. |
ad_id | stringOptional ad ID. |
creative_id | stringOptional creative ID. |
creative_ad_id | stringOptional creative ad ID. |
deal_id | stringOptional deal ID. |
clickthrough_url | stringOptional clickthrough URL. |
click_tracking_urls | stringOptional click tracking URLs. |
verifications | [object(Verification)]Optional Open Measurement verification entries which list the resources and metadata required to execute third-party measurement code to verify creative playback. |
slate | booleanOptional bool indicating the current entry is slate. |
icons | [object(Icon)]A list of icons, omitted if empty. |
wrappers | [object(Wrapper)]A list of Wrappers, omitted if empty. |
universal_ad_id | object(UniversalAdID)Optional universal ad ID. |
extensions | stringOptional list of all <Extension> nodes in the VAST. |
companions | [object(Companion)]Optional companions that may be displayed along with this ad. |
interactive_file | object(InteractiveFile)Optional interactive creative (SIMID) that should be displayed during ad playback. |
PodTemplateResponse
PodTemplateResponse represents the JSON payload returned to a VTP for pod stitching.| نمایش JSON |
|---|
{
"dash_period_template": string,
"segment_duration_ms": int64,
} |
| فیلدها | |
|---|---|
dash_period_template | stringDashPeriodTemplate is the xml template for the period to be filled with appropriate data before stitching. |
segment_duration_ms | int64SegmentDurationMS is the duration of the period segments in milliseconds. |
AdpodTimingMetadataResponse
AdpodTimingMetadataResponse contains information about the Ad Pod and how to build segment URLs for it.| نمایش JSON |
|---|
{
"status": string,
"ads": [object(AdRendering)],
"slate": object(SlateRendering),
"dash_representations": map[string, object(DASHRepresentation)],
"dash_adaptation_sets": map[string, object(DASHAdaptationSet)],
} |
| فیلدها | |
|---|---|
status | stringDecision status for the ad pod. |
ads | [object(AdRendering)]Array of Ad objects describing how to render the ad segment urls, indexed starting at 0. |
slate | object(SlateRendering)Slate describing how to render the slate segment urls. |
dash_representations | map[string, object(DASHRepresentation)]List of DASH Representations for that ad pod to be rendered in DASH manifests. |
dash_adaptation_sets | map[string, object(DASHAdaptationSet)]List of DASH Adaptation Sets for that ad pod to be rendered in DASH manifests. |
AdRendering
AdRendering describes how to render a decisioned ad.| نمایش JSON |
|---|
{ "duration_ms": number, "variants": map[string, object(VariantRendering)], } |
| فیلدها | |
|---|---|
duration_ms | numberDuration of the ad, in milliseconds (int). |
variants | map[string, object(VariantRendering)]Dictionary of Variant objects (see below), indexed by the variant/profile ID, as configured from the UI. |
SlateRendering
SlateRendering describes how to render slate content.| نمایش JSON |
|---|
{ "duration_ms": number, "variants": map[string, object(VariantRendering)], } |
| فیلدها | |
|---|---|
duration_ms | numberDuration of the slate, in milliseconds (int). |
variants | map[string, object(VariantRendering)]Dictionary of Variant objects, indexed by variant/profile ID. Slate durations must be looped until the required slate length is reached, inserting HLS discontinuities between iterations, or looping new periods for MPEG-DASH. |
VariantRendering
VariantRendering describes one variant/profile within the ad/slate.| نمایش JSON |
|---|
{
"segment_extension": string,
"segment_durations": object(SegmentDurations),
} |
| فیلدها | |
|---|---|
segment_extension | stringString, one of: ts, mp4, aac, ac3, ec3, m4a, m4v. Filename extension part of the segment URLs. |
segment_durations | object(SegmentDurations)SegmentDurations objects. Each segment duration can be translated into a segment URL. |
SegmentDurations
SegmentDurations describes the duration of a sequence of segments, in a specified time unit.| نمایش JSON |
|---|
{
"timescale": number,
"values": [],
} |
| فیلدها | |
|---|---|
timescale | numberTimescale is the number of units per second (int) Expected to be: 1000 for HLS (milliseconds) 90000 for DASH video (PTS) Audio sample rate for DASH audio. |
values | numberArray of int segment durations, in timescale units. |
DASHRepresentation
DASHRepresentation describes Representation nodes to be rendered in DASH manifests.| نمایش JSON |
|---|
{
"codecs": string,
"bandwidth": number,
"width": number,
"height": number,
"frame_rate": string,
"audio_sampling_rate": number,
"audio_channel_config": object(SchemeIDURIAndValue),
} |
| فیلدها | |
|---|---|
codecs | stringCodecs of the representation. |
bandwidth | numberBandwidth of the representation. |
width | numberWidth of the representation. |
height | numberHeight of the representation. |
frame_rate | stringFrame rate of the representation. |
audio_sampling_rate | numberAudio sampling rate of the representation. |
audio_channel_config | object(SchemeIDURIAndValue)Audio channel configuration of the representation. |
DASHAdaptationSet
DASHAdaptationSet describes AdaptationSet nodes to be rendered in DASH manifests.| نمایش JSON |
|---|
{ "content_type": string, "mime_type": string, "role": object(SchemeIDURIAndValue), "inband_event_stream": object(SchemeIDURIAndValue), "min_frame_rate": string, "max_frame_rate": string, "scan_type": string, "start_with_sap": string, "segment_alignment": boolean, "representations": [], } |
| فیلدها | |
|---|---|
content_type | stringContent type of the adaptation set. |
mime_type | stringMIME type of the adaptation set. |
role | object(SchemeIDURIAndValue)Role of the adaptation set. |
inband_event_stream | object(SchemeIDURIAndValue)Inband event stream of the adaptation set. |
min_frame_rate | stringMinimum frame rate of the adaptation set. |
max_frame_rate | stringMaximum frame rate of the adaptation set. |
scan_type | stringScan type of the adaptation set. |
start_with_sap | stringStart with SAP of the adaptation set. |
segment_alignment | booleanSegment alignment of the adaptation set. |
representations | stringRepresentations of the adaptation set. |
SchemeIDURIAndValue
SchemeIDURIAndValue is a pair of a scheme ID and its value.| نمایش JSON |
|---|
{
"scheme_id_uri": string,
"value": string,
} |
| فیلدها | |
|---|---|
scheme_id_uri | stringScheme ID URI of the value. |
value | stringValue of the scheme ID URI. |
آیکون
Icon contains information about a VAST Icon.| نمایش 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 contains information about an icon clickthrough.| نمایش JSON |
|---|
{
"url": string,
} |
| فیلدها | |
|---|---|
url | string |
FallbackImage
FallbackImage contains information about a VAST fallback image.| نمایش 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 contains information about a wrapper ad. It does not include a Deal ID if it does not exist.| نمایش JSON |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| فیلدها | |
|---|---|
system | stringAd system identifier. |
ad_id | stringAd ID used for the wrapper ad. |
creative_id | stringCreative ID used for the wrapper ad. |
creative_ad_id | stringCreative Ad ID used for the wrapper ad. |
deal_id | stringOptional deal ID for the wrapper ad. |
تأیید
Verification contains information for Open Measurement, which facilitates third-party viewability and verification measurement. Currently, only JavaScript resources are supported. See https://iabtechlab.com/standards/open-measurement-sdk/| نمایش JSON |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| فیلدها | |
|---|---|
vendor | stringThe verification vendor. |
java_script_resources | [object(JavaScriptResource)]List of JavaScript resources for the verification. |
tracking_events | [object(TrackingEvent)]List of tracking events for the verification. |
parameters | stringAn opaque string passed to bootstrap verification code. |
JavaScriptResource
JavaScriptResource contains information for verification via JavaScript.| نمایش JSON |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| فیلدها | |
|---|---|
script_url | stringURI to javascript payload. |
api_framework | stringAPIFramework is the name of the video framework exercising the verification code. |
browser_optional | booleanWhether this script can be run outside of a browser. |
TrackingEvent
TrackingEvent contains URLs that should be pinged by the client in certain situations.| نمایش JSON |
|---|
{
"event": string,
"uri": string,
} |
| فیلدها | |
|---|---|
event | stringThe type of the tracking event. |
uri | stringThe tracking event to be pinged. |
UniversalAdID
UniversalAdID is used to provide a unique creative identifier that is maintained across ad systems.| نمایش JSON |
|---|
{ "id_value": string, "id_registry": string, } |
| فیلدها | |
|---|---|
id_value | stringThe Universal Ad ID of the selected creative for the ad. |
id_registry | stringA string used to identify the URL for the registry website where the selected creative's Universal Ad ID is cataloged. |
Companion
Companion contains information for companion ads that may be displayed along with ad.| نمایش 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)The click data for this companion. |
creative_type | stringThe CreativeType attribute on the <StaticResource> node in the VAST if this is a companion of type static. |
height | int32The height in pixels of this companion. |
width | int32The width in pixels of this companion. |
resource | stringFor static and iframe companions this will be the URL to be loaded and displayed. For HTML companions, this will be the HTML snippet that should be shown as the companion. |
type | stringType of this companion. It can be either static, iframe or HTML. |
ad_slot_id | stringThe slot ID for this companion. |
api_framework | stringThe API framework for this companion. |
tracking_events | [object(TrackingEvent)]List of tracking events for this companion. |
InteractiveFile
InteractiveFile contains information for interactive creative (ie SIMID) that should be displayed during ad playback.| نمایش JSON |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| فیلدها | |
|---|---|
resource | stringThe URL to the interactive creative. |
type | stringThe MIME type of the file provided as the resource. |
variable_duration | booleanWhether this creative may ask for the duration to be extended. |
ad_parameters | stringThe value of the <AdParameters> node in the VAST. |