واجهة برمجة التطبيقات الديناميكية لميزة "إدراج إعلان ديناميكي" في فيديوهات الفيديوهات عند الطلب

من خلال Google DAI API، يمكنك الاستفادة من ميزة "إدراج إعلان ديناميكي" من Google في مختلف البيئات. حيث لا يكون تنفيذ حزمة تطوير البرامج لإعلانات الوسائط التفاعلية متاحًا ننصحك بمواصلة استخدام إعلانات الوسائط التفاعلية على الأنظمة الأساسية التي تتيح استخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية

ننصحك باستخدام DAI API على المنصّات التالية:

  • تلفزيون Samsung الذكي (Tizen)
  • تلفزيون LG
  • HbbTV
  • Xbox (تطبيقات JavaScript)
  • KaiOS

تتوافق واجهة برمجة التطبيقات مع الميزات الأساسية التي تقدّمها حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية. بالنسبة إلى أسئلة حول التوافق أو الميزات المتاحة، يُرجى التواصل مع فريق مدير الحساب.

تنفيذ DAI API لأحداث البث عند الطلب

تتيح DAI API بث الفيديوهات عند الطلب باستخدام بروتوكولَي HLS وDASH. الخطوات كما هو موضح في هذا الدليل، على كِلا البروتوكولين.

لدمج واجهة برمجة التطبيقات في تطبيقك لبثّ الفيديوهات عند الطلب، أكمِل الخطوات التالية:

  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. للتحقّق من الوسائط، يُرجى الانتباه إلى أحداث رقم التعريف 3:

    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
    

    يمكنك التأكّد من أحداث التتبُّع في نشاط البث. المراقبة:

  4. اختياري: استخدام بيانات ad_breaks من مصدر البيانات لإنشاء رد للبحث لتحديد نوع الحدث الذي تم تنشيطه.

  5. إزالة حدث الوسائط من قائمة الانتظار

القيود

في حال استخدام واجهة برمجة التطبيقات في مكتبات WebView، تنطبق القيود التالية في ما يتعلق إلى الاستهداف:

  • UserAgent: يتم ضبط معلَمة وكيل المستخدم كقيمة خاصة بالمتصفّح. بدلاً من المنصة الأساسية
  • rdid، idtype, is_lat: رقم تعريف الجهاز هو لا يتم تجاوزها بشكل صحيح، مما يحد من الميزات التالية:
    • تحديد عدد مرات الظهور
    • العرض المتسلسل للإعلانات بالتناوب
    • تقسيم الجمهور واستهدافه

أفضل الممارسات

إنّ ربط علامات ID3 بنوع الحدث المناسب أمر مملاً في الفيديوهات عند الطلب. يمكنك استخدام عرض معلومات ad_breaks في ملف JSON للبحث عن الحدث مباشرةً، مثل تفعلها مع المحتوى المباشر.

مراجع إضافية