API درج آگهی پویا برای جریان‌های 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، مراحل زیر را انجام دهید:

  1. با برقراری تماس POST با نقطه پایانی جریان، یک جریان درخواست کنید:

    نمونه بدن درخواست:

    https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
    
      {
        key1 : "value1",
        stream_parameter1 : "value2"
      }
    

    نمونه بدن پاسخ:

    {
       "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85",
       "total_duration":636.458,
       "content_duration":596.458,
       "valid_for":"8h0m0s",
       "valid_until":"2020-06-04T20:39:41.274707306-07:00",
       "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd",
       "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/",
       "ad_breaks":[
          {
             "type":"pre",
             "start":0,
             "duration":10,
             "ads":[
                {
                   "seq":1,
                   "duration":10,
                   "title":"External NCA1C1L1 Preroll",
                   "description":"External NCA1C1L1 Preroll ad",
                   "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365",
                   "events":[
                      {
                         "time":0.1,
                         "type":"start"
                      },
                      {
                         "time":2.5,
                         "type":"firstquartile"
                      },
                      {
                         "time":4.75,
                         "type":"midpoint"
                      },
                      {
                         "time":7.5,
                         "type":"thirdquartile"
                      },
                      {
                         "time":9,
                         "type":"complete"
                      }
                   ]
                }
             ]
          },
          {
             "type":"mid",
             "start":45,
             "duration":10,
             "ads":[
                {.... }
                   ]
                }
             ]
          },
          {
             "type":"post",
             "start":626.458,
             "duration":10,
             "ads":[...]
          }
       ]
    }
    

    پاسخ به خطا

    در صورت بروز خطا، کدهای خطای استاندارد HTTP بدون بدنه پاسخ JSON برگردانده می شوند.

  2. پاسخ JSON را تجزیه کنید و مقادیر زیر را ذخیره کنید:

    • stream_id
    • stream_manifest
    • media_verification_url
    • ad_breaks
  3. برای انجام تأیید رسانه، به رویدادهای ID3 گوش دهید:

    1. رویدادهای رسانه را در یک صف ذخیره کنید و هر شناسه رسانه را به همراه مهر زمانی آن ذخیره کنید (اگر توسط پخش کننده ظاهر شود).
    2. در هر به‌روزرسانی زمانی از پخش‌کننده، یا با فرکانس تعیین‌شده (500 میلی‌ثانیه توصیه‌شده)، صف رویدادهای رسانه‌ای را برای رویدادهایی که اخیراً پخش شده‌اند، با مقایسه مهرهای زمانی رویداد با صفحه پخش بررسی کنید.
    3. برای رویدادهای رسانه ای که تأیید می کنید پخش شده اند، با افزودن شناسه رسانه به نقطه پایانی تأیید رسانه و درخواست GET، پخش را ردیابی کنید.

    نمونه بدن درخواست:

    https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
    

    نمونه پاسخ ها:

    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
    

    می‌توانید ردیابی رویدادها را در Stream Activity Monitor تأیید کنید.

  4. اختیاری: از داده‌های ad_breaks از پاسخ ایجاد جریان برای بررسی نوع رویداد استفاده کنید.

  5. رویداد رسانه ای را از صف حذف کنید.

محدودیت ها

در صورت استفاده از API در وب‌نماها، محدودیت‌های زیر در مورد هدف‌گذاری اعمال می‌شود:

  • UserAgent: پارامتر عامل کاربر به‌جای پلتفرم زیربنایی، به‌عنوان مقدار خاص مرورگر ارسال می‌شود.
  • rdid , idtype , is_lat : شناسه دستگاه به درستی ارسال نشده است که ویژگی های زیر را محدود می کند:
    • محدودیت فرکانس
    • چرخش متوالی تبلیغات
    • تقسیم بندی و هدف گذاری مخاطب

بهترین شیوه ها

نگاشت تگ های ID3 به نوع رویداد مناسب در VOD خسته کننده است. از اطلاعات ad_breaks برگشتی در JSON برای جستجوی مستقیم رویداد استفاده کنید، مانند محتوای زنده.

منابع اضافی