DAI API در نسخه بتا است و ممکن است در شبکه شما در دسترس نباشد. برای اطلاعات بیشتر با مدیر حساب خود تماس بگیرید. IMA SDK برای پلتفرم هایی که در دسترس است توصیه می شود.
درخواست استریم های DAI VOD، درخواست استریم های DAI VOD، درخواست جریان های DAI VOD، درخواست جریان های DAI VOD
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Google DAI API به شما امکان میدهد جریانهای دارای Google DAI را در محیطهایی پیادهسازی کنید که پیادهسازی IMA SDK پشتیبانی نمیشود. توصیه می کنیم همچنان از IMA در پلتفرم هایی که IMA SDK پشتیبانی می شود استفاده کنید.
توصیه می کنیم از DAI API در پلتفرم های زیر استفاده کنید:
تلویزیون هوشمند سامسونگ (تایزن)
تلویزیون ال جی
HbbTV
ایکس باکس (برنامه های جاوا اسکریپت)
KaiOS
API از ویژگی های اساسی ارائه شده توسط IMA DAI SDK پشتیبانی می کند. برای سؤالات خاص در مورد سازگاری یا ویژگی های پشتیبانی شده، با مدیر حساب Google خود تماس بگیرید.
DAI API را برای جریان های VOD پیاده سازی کنید
DAI API از جریان های VOD با استفاده از پروتکل های HLS و DASH پشتیبانی می کند. مراحل توضیح داده شده در این راهنما برای هر دو پروتکل اعمال می شود.
برای ادغام API در برنامه خود برای جریان های VOD، مراحل زیر را انجام دهید:
با برقراری تماس POST با نقطه پایانی جریان، یک جریان درخواست کنید:
در صورت بروز خطا، کدهای خطای استاندارد HTTP بدون بدنه پاسخ JSON برگردانده می شوند.
پاسخ JSON را تجزیه کنید و مقادیر زیر را ذخیره کنید:
stream_id
stream_manifest
media_verification_url
ad_breaks
برای انجام تأیید رسانه، به رویدادهای ID3 گوش دهید:
رویدادهای رسانه را در یک صف ذخیره کنید و هر شناسه رسانه را به همراه مهر زمانی آن ذخیره کنید (اگر توسط پخش کننده ظاهر شود).
در هر بهروزرسانی زمانی از پخشکننده، یا با فرکانس تعیینشده (500 میلیثانیه توصیهشده)، صف رویدادهای رسانهای را برای رویدادهایی که اخیراً پخش شدهاند، با مقایسه مهرهای زمانی رویداد با صفحه پخش بررسی کنید.
برای رویدادهای رسانه ای که تأیید می کنید پخش شده اند، با افزودن شناسه رسانه به نقطه پایانی تأیید رسانه و درخواست GET، پخش را ردیابی کنید.
Accepted for asynchronous verification - HTTP/1.1 202 Accepted
Successful empty response - HTTP/1.1 204 No Content
Media verification not found - HTTP/1.1 404 Not Found
Media verification sent by someone else - HTTP/1.1 409 Conflict
اختیاری: از دادههای ad_breaks از پاسخ ایجاد جریان برای بررسی نوع رویداد استفاده کنید.
رویداد رسانه ای را از صف حذف کنید.
محدودیت ها
در صورت استفاده از API در وبنماها، محدودیتهای زیر در مورد هدفگذاری اعمال میشود:
UserAgent: پارامتر عامل کاربر بهجای پلتفرم زیربنایی، بهعنوان مقدار خاص مرورگر ارسال میشود.
rdid , idtype , is_lat : شناسه دستگاه به درستی ارسال نشده است که ویژگی های زیر را محدود می کند:
محدودیت فرکانس
چرخش متوالی تبلیغات
تقسیم بندی و هدف گذاری مخاطب
بهترین شیوه ها
نگاشت تگ های ID3 به نوع رویداد مناسب در VOD خسته کننده است. از اطلاعات ad_breaks برگشتی در JSON برای جستجوی مستقیم رویداد استفاده کنید، مانند محتوای زنده.
تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe Google DAI API enables Google DAI streams on platforms where the IMA SDK isn't supported, but IMA is still recommended where it's available.\u003c/p\u003e\n"],["\u003cp\u003eThe DAI API, supporting VOD streams with HLS and DASH protocols, is recommended for platforms like Samsung Smart TV, LG TV, HbbTV, Xbox (Javascript apps), and KaiOS.\u003c/p\u003e\n"],["\u003cp\u003eImplementing the DAI API involves requesting a stream, parsing the response, performing media verification using ID3 events, and optionally utilizing \u003ccode\u003ead_breaks\u003c/code\u003e data for event lookup.\u003c/p\u003e\n"],["\u003cp\u003eWhile using the API in webviews has limitations affecting targeting and device ID passing, it's best practice to utilize \u003ccode\u003ead_breaks\u003c/code\u003e data for event identification in VOD.\u003c/p\u003e\n"]]],[],null,["# Request DAI VOD streams\n\nThe Google DAI API lets you implement Google DAI-enabled streams in environments\nwhere implementing the IMA SDK is not supported. We recommend that you still use\nIMA on platforms where the IMA SDK is supported.\n\nWe recommend using the DAI API on the following platforms:\n\n- Samsung Smart TV (Tizen)\n- LG TV\n- HbbTV\n- Xbox (Javascript apps)\n- KaiOS\n\nThe API supports the basic features provided by the IMA DAI SDK. For specific\nquestions about compatibility or supported features, reach out to your Google\naccount manager.\n\nImplement the DAI API for VOD streams\n-------------------------------------\n\nThe DAI API supports VOD streams using both HLS and DASH protocols. The steps\ndescribed in this guide apply to both protocols.\n\nTo integrate the API into your application for VOD streams, complete the\nfollowing steps:\n\n1. Request a stream by making a POST call to the stream endpoint:\n\n **Example request body:** \n\n https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream\n\n {\n key1 : \"value1\",\n stream_parameter1 : \"value2\"\n }\n\n | **Note:** `api_key` can be supplied using the `Authorization` HTTP header.\n\n **Example response body:** \n\n {\n \"stream_id\":\"d32f8920-612a-4d46-8bc7-d73fd6c17c85\",\n \"total_duration\":636.458,\n \"content_duration\":596.458,\n \"valid_for\":\"8h0m0s\",\n \"valid_until\":\"2020-06-04T20:39:41.274707306-07:00\",\n \"stream_manifest\":\"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd\",\n \"media_verification_url\":\"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/\",\n \"ad_breaks\":[\n {\n \"type\":\"pre\",\n \"start\":0,\n \"duration\":10,\n \"ads\":[\n {\n \"seq\":1,\n \"duration\":10,\n \"title\":\"External NCA1C1L1 Preroll\",\n \"description\":\"External NCA1C1L1 Preroll ad\",\n \"clickthrough_url\":\"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365\",\n \"events\":[\n {\n \"time\":0.1,\n \"type\":\"start\"\n },\n {\n \"time\":2.5,\n \"type\":\"firstquartile\"\n },\n {\n \"time\":4.75,\n \"type\":\"midpoint\"\n },\n {\n \"time\":7.5,\n \"type\":\"thirdquartile\"\n },\n {\n \"time\":9,\n \"type\":\"complete\"\n }\n ]\n }\n ]\n },\n {\n \"type\":\"mid\",\n \"start\":45,\n \"duration\":10,\n \"ads\":[\n {.... }\n ]\n }\n ]\n },\n {\n \"type\":\"post\",\n \"start\":626.458,\n \"duration\":10,\n \"ads\":[...]\n }\n ]\n }\n\n **Error Response**\n\n In case of errors, standard HTTP error codes are returned with no JSON\n response body.\n2. Parse the JSON response and store the following values:\n\n - `stream_id`\n - `stream_manifest`\n - `media_verification_url`\n - `ad_breaks`\n3. To perform media verification, listen for ID3 events:\n\n 1. Store the media events in a queue, saving each media ID along with its timestamp (if surfaced by the player).\n 2. On each time update from the player, or at a set frequency (recommended 500ms), check the media events queue for recently played events by comparing the event timestamps to the playhead.\n 3. For media events that you confirm have played, track the playback by appending the media ID to the media verification endpoint and making a GET request.\n\n **Example request body:** \n\n https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/\n\n **Example responses:** \n\n Accepted for asynchronous verification - HTTP/1.1 202 Accepted\n Successful empty response - HTTP/1.1 204 No Content\n Media verification not found - HTTP/1.1 404 Not Found\n Media verification sent by someone else - HTTP/1.1 409 Conflict\n\n You can verify tracking events in [Stream Activity\n Monitor](//support.google.com/admanager/answer/7009058).\n4. Optional: Use the `ad_breaks` data from the stream create response to look\n up what type of event was fired.\n\n5. Remove the media event from the queue.\n\nLimitations\n-----------\n\nIf using the API within webviews, the following limitations apply with respect\nto targeting:\n\n- UserAgent: The user agent parameter is passed as browser specific value instead of the underlying platform.\n- [`rdid`](//support.google.com/admanager/answer/7320899), [`idtype`](//support.google.com/admanager/answer/7320899), [`is_lat`](//support.google.com/admanager/answer/7320899): The device ID is not properly passed, which limits the following features:\n - Frequency capping\n - Sequential ad rotation\n - Audience segmentation and targeting\n\nBest practices\n--------------\n\nMapping ID3 tags to the appropriate event type is tedious on VOD. Use the\nreturned `ad_breaks` information in the JSON to look up the event directly, like\nyou would with live content.\n\nAdditional resources\n--------------------\n\n- [API reference\n documentation](/ad-manager/dynamic-ad-insertion/api/full-service/reference/vod)\n- [Simple sample](//github.com/googleads/googleads-dynamic-ad-insertion/tree/master/simple/VOD)\n- [IMA SDK documentation](/interactive-media-ads)\n- [DAI layer implementation types comparison](//support.google.com/admanager/answer/9840889)"]]