واجهة برمجة التطبيقات لإدراج الإعلانات الديناميكية في أحداث البث المباشر

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

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

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

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

تنفيذ DAI API لأحداث البث المباشر

تتيح واجهة برمجة التطبيقات DAI عمليات البث المباشر غير القابلة للتقديم أو الإيقاف باستخدام بروتوكولَي HLS وDASH. تنطبق الخطوات الموضّحة في هذا الدليل على كلا البروتوكولَين.

لدمج واجهة برمجة التطبيقات في تطبيقك لأحداث البث المباشر، يجب إكمال الخطوات التالية: الخطوات:

1. طلب بث

لطلب بث مباشر من واجهة DAI API، يجب طلب البث المباشر من خلال POST. النهائية. تحتوي استجابة JSON على بيان ساحة المشاركات بالإضافة إلى نقاط نهاية وقيم DAI API

مثال لنص الطلب

https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

مثال على نص الاستجابة

{
"stream_id":"c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session",
"polling_frequency":10
}

استجابة الخطأ

في حال حدوث أخطاء، يتم عرض رموز خطأ HTTP العادية بدون استجابة JSON. جسم.

حلِّل استجابة JSON واحتفِظ بالقيم التالية:

stream_id
يمكن استخدام هذه القيمة لتحديد مصدر البيانات الذي تم عرضه.
stream_manifest
يتم إرسال عنوان URL هذا إلى مشغّل الوسائط لتشغيل البث.
media_verification_url
يمثّل عنوان URL هذا نقطة النهاية الأساسية لتتبُّع أحداث التشغيل.
metadata_url
يتم استخدام عنوان URL هذا لإنشاء استطلاع للحصول على معلومات دورية حول البث القادم. فعالية.
session_update_url
يُستخدَم عنوان URL هذا لتعديل مَعلمات طلب البث التي تم إرسالها خلال العملية. طلب البث. تجدر الإشارة إلى أن معلمات هذا الطلب تحل محل جميع المعلمات التي تم ضبطها للبث السابق
polling_frequency
معدل التكرار، بالثواني، عند طلب البيانات الوصفية المُعدَّلة من AdBreak من DAI API.

2. استطلاع للحصول على البيانات الوصفية الجديدة لـ AdBreak

اضبط موقّتًا لاستطلاع آراء البيانات الوصفية الجديدة لـ AdBreak بمعدّل تكرار الاستطلاعات، وذلك باستخدام للبيانات الوصفية. إذا لم يتم تحديده في استجابة ساحة المشاركات، يُنصَح باستخدام الإعداد التلقائي. الفاصل الزمني هو 10 ثوانٍ.

مثال لنص الطلب

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata

مثال على نص الاستجابة

{
   "tags":{
      "google_0492266569":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"firstquartile"
      },
      "google_1560331148":{
         "ad":"0000229836_ad1",
         "ad_break_id":"0000229836",
         "type":"thirdquartile"
      },
      "google_1877686714378797835":{
         "ad":"0000229836_slate",
         "ad_break_id":"0000229836",
         "type":"progress"
      },
      "google_1vRyQBYPw_7Gg3MrZ6S5EjmV9aLje-YpW8QHed1DSlU":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"progress"
      },
      "google_2032765498":{
         "ad":"0000229835_ad1",
         "ad_break_id":"0000229835",
         "type":"midpoint"
      },......
      "google_5646900623":{
         "ad":"0000229837_ad1",
         "ad_break_id":"0000229837",
         "type":"complete"
      }
   },
   "ads":{
      "0000229834_ad1":{
         "ad_break_id":"0000229834",
         "position":1,
         "duration":15.01,
         "title":"truman-e2e-creativeset4",
         "description":"truman-e2e-creativeset4 ad",
         "ad_system":"GDFP",
         "ad_id":"39066884",
         "creative_id":"58092079124",
         "clickthrough_url":"https://pubads.g.doubleclick.net/pcs/click?xai=AKAO...\u0026adurl=http://google.com",
         "universal_ad_id":{
            "id_value":"58092079124",
            "id_registry":"GDFP"
         }
      },
      "0000229834_slate":{
         "ad_break_id":"0000229834",
         "position":-1,
         "duration":14.974977777,
         "slate":true
      },...
   },
   "ad_breaks":{
      "0000229834":{
         "type":"mid",
         "duration":15.01,
         "expected_duration":29.984977776999997,
         "ads":1
      },....
   }
}

3- استمِع إلى أحداث ID3 وتتبَّع أحداث التشغيل

للتحقّق من وقوع أحداث معيّنة في الفيديو المضمّن، يُرجى اتّباع الخطوات التالية: خطوات التعامل مع أحداث ID3:

  1. يمكنك تخزين أحداث الوسائط في قائمة انتظار، وحفظ كل معرف وسائط مع الطابع الزمني (في حال عرضه مشغّل الفيديو)
  2. عند التحديث في كل مرة من المشغّل أو بمعدّل تكرار محدّد (يُنصح به) 500 ملي ثانية)، فتحقق من قائمة انتظار أحداث الوسائط للأحداث التي تم تشغيلها مؤخرًا عن طريق مقارنة الطوابع الزمنية للأحداث برأس التشغيل.
  3. بالنسبة إلى أحداث الوسائط التي تأكّدت من تشغيلها، تحقّق من نوعها من خلال البحث عن رقم تعريف الوسائط في علامات الفواصل الإعلانية المخزّنة. ضع في اعتبارك أن العلامات المخزنة تحتوي على بادئة من معرف الوسائط فقط ولذلك لا يمكن إجراء مطابقة تامة.
  4. استخدام كلمة "التقدم" الأحداث لتتبُّع ما إذا كان المستخدم ضمن فاصل إعلاني. لا ترسل هذه الأحداث إلى نقطة نهاية التحقق من الوسائط. للأحداث الأخرى وإلحاق معرف الوسائط بنقطة نهاية التحقق من الوسائط وإجراء طلب GET طلب تتبع التشغيل.
  5. إزالة حدث الوسائط من قائمة الانتظار

مثال لنص الطلب

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. تعديل مَعلمات جلسة البث المباشر

قد تحتاج إلى تعديل معلَمات الجلسة بعد انتهاء البث إنشاء. ولإجراء ذلك، أرسِل طلبًا إلى عنوان URL لتعديل الجلسة.

مثال لنص الطلب

https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session

{
  key1 : "value1",
  stream_parameter1 : "value2"
}

مثال على نص الاستجابة

Successful response would be to look for - HTTP/1.1 200

القيود

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

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

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

تجدر الإشارة إلى أنّ نقطة نهاية البيانات الوصفية لفهرس البث المباشر تستند إلى لعلامة ID3 المقابلة. ويتم هذا عمدًا لمنع استخدام نقطة نهاية البيانات الوصفية لاختبار فحص جميع عُقد التحقق على الفور.

مراجع إضافية