تعتمد حزمة تطوير البرامج (SDK) لإدراج الإعلانات الديناميكية (DAI) لإعلانات الوسائط التفاعلية على معلومات البيانات الوصفية المضمّنة في شرائح وسائط البث (البيانات الوصفية ضمن النطاق) أو في ملف بيان البث (البيانات الوصفية المضمّنة في البيان) لتتبُّع أداء المشاهدين متوسّط مواضع الإعلانات وأحداث الإعلانات من جهة العميل تتوفّر البيانات الوصفية من مصدر بيانات "إدراج إعلان ديناميكي" بتنسيقات مختلفة حسب نوع البث الذي يتم تشغيله تعالج أداة تطوير البرامج لإعلانات الوسائط التفاعلية DAI SDK جميع تنسيقات البيانات الوصفية من خلال واجهة برمجة تطبيقات واحدة.
يكون تطبيقك مسؤولاً عن تسجيل البيانات الوصفية وإعادة توجيهها إلى حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية. توفّر حزمة SDK الأسلوب
StreamManager.onMessage()
لنقل هذه المعلومات. تعيد هذه الطريقة توجيه بيانات التعريف على شكل
عنصر msg
المقدَّم من منفذ roVideo وتتم معالجة هذه العناصر بعد ذلك من خلال
حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية لتحديد توقيت أحداث الإعلانات. يتطلب الأمر
الوسيطة:
msg
: كائن من نوع الرسالة يتم توفيره من خلال منفذ roVideo.
رمز نموذجي للبيانات الوصفية
إليك مثال على كيفية التعامل مع البيانات الوصفية من منفذ roVideo
إرساله إلى حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية من خلال StreamManager.onMessage()
Sub runLoop()
' Forward all timed metadata events to IMA.
m.top.video.timedMetaDataSelectionKeys = ["*"]
' Cycle through all the fields and set listeners.
' IMPORTANT: Failure to listen to the position and timedmetadata fields could
' result in ad impressions not being reported.
m.port = CreateObject("roMessagePort")
fields = m.top.video.getFields()
for each field in fields
m.top.video.observeField(field, m.port)
end for
while True
msg = wait(1000, m.port)
if m.top.video = invalid
print "exiting"
exit while
end if
m.streamManager.onMessage(msg)
currentTime = m.top.video.position
If currentTime > 3 And not m.top.adPlaying
m.top.video.enableTrickPlay = true
End If
end while
End Sub
لمزيد من المعلومات حول كيفية دمج البيانات الوصفية للبث بشكل متكرر في تطبيقك، راجع دليل بدء استخدام Roku لإعلانات الوسائط التفاعلية تشير رسالة الأشكال البيانية أداة معالجة الأحداث وقسم بدء البث من الدليل على حلقة معالجة البيانات الوصفية.
أحداث البث المباشر وفق بروتوكول HTTP باستخدام CMAF
عمليات بث HLS عبر بروتوكول DAI بشكل مُجدوَل باستخدام بطاقة Common Media application (CMAF) بيانات وصفية محددة زمنيًا من خلال مربّعات eMSGv1 ضمن النطاق بعد ID3 إلى معيار CMAF. تُعد مربعات eMSG هذه مضمّن في بداية كل مقطع وسائط، مع وجود كل معرّف eMSG لـ ID3 يحتوي على لقطة شاشة ذات صلة بآخر انقطاع في البث
بالنسبة إلى أجهزة IMA Roku، ترسل جميع مجموعات بث HLS CMAF بيانات رقم التعريف 3 ضمن النطاق باستخدام تنسيق eMSGv0. يجمع إعلانات الوسائط التفاعلية بين المعلومات التي يوفرها تنسيق eMSGv0 مع المعلومات من كائن الفيديو.
لتفعيل التحليل المناسب لأحداث رقم التعريف 3 لمصدر بيانات HLS CMAF، يجب إرسال
عنصر فيديو في طلب البث باستخدام
StreamRequest.videoObject