تسهّل حِزم تطوير البرامج (SDK) لإعلانات الوسائط التفاعلية دمج إعلانات الوسائط المتعددة في مواقعك الإلكترونية وتطبيقاتك. يمكن لحِزم تطوير البرامج لإعلانات الوسائط التفاعلية طلب الإعلانات من أيّ خادم إعلانات متوافق مع نموذج عرض إعلانات فيديو (VAST) وإدارة تشغيل الإعلانات في تطبيقاتك. باستخدام حِزم تطوير البرامج لإعلانات الوسائط التفاعلية من جهة العميل، يمكنك التحكّم في تشغيل فيديو المحتوى، بينما تتولّى حزمة تطوير البرامج تشغيل الإعلانات. يتم تشغيل الإعلانات في مشغّل فيديو منفصل أعلى مشغّل فيديو المحتوى في التطبيق.
يوضّح هذا الدليل كيفية دمج حزمة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA SDK) في تطبيق مشغّل فيديو بسيط. إذا أردت الاطّلاع على نموذج دمج مكتمل أو اتّباعه، نزِّل المثال البسيط من GitHub. إذا كنت مهتمًا بمشغّل HTML5 تم دمج حزمة تطوير البرامج له مسبقًا، يمكنك الاطّلاع على مكوّن IMA SDK الإضافي لـ Video.js.
نظرة عامة على IMA من جهة العميل
يتضمّن تنفيذ IMA من جهة العميل أربعة مكوّنات رئيسية لحزمة تطوير البرامج، وهي موضّحة في هذا الدليل:
AdDisplayContainer
: عنصر حاوية يحدّد مواضع عرض عناصر واجهة مستخدِم الإعلان في IMA ويقيس إمكانية العرض، بما في ذلك العرض النشط و القياس المفتوح.AdsLoader
: عنصر يطلب الإعلانات ويعالج الأحداث الواردة من استجابات طلبات الإعلانات. يجب إنشاء مثيل واحد فقط لتحميل الإعلانات، والذي يمكن إعادة استخدامه طوال مدة استخدام التطبيق.-
AdsRequest
: عنصر يحدّد طلب إعلانات. تحدّد طلبات الإعلانات عنوان URL لعلامة إعلانات "نموذج عرض إعلانات الفيديو" (VAST)، بالإضافة إلى مَعلمات إضافية، مثل سمات الإعلان. AdsManager
: عنصر يحتوي على الاستجابة لطلب الإعلانات، ويتحكّم في تشغيل الإعلانات، ويستمع إلى أحداث الإعلانات التي تنشئها حزمة SDK
المتطلبات الأساسية
قبل البدء، ستحتاج إلى ما يلي:
- ثلاثة ملفات فارغة:
- index.html
- style.css
- ads.js
- تثبيت Python على جهاز الكمبيوتر أو خادم ويب لاستخدامه في الاختبار
1. بدء خادم تطوير
بما أنّ حزمة تطوير البرامج (SDK) لـ IMA تحمّل التبعيات باستخدام البروتوكول نفسه المستخدَم في الصفحة التي يتم تحميلها منها، عليك استخدام خادم ويب لاختبار تطبيقك. إنّ أبسط طريقة لبدء خادم تطوير محلي هي استخدام الخادم المضمّن في Python.
- باستخدام سطر أوامر، من الدليل الذي يحتوي علىملف index.html، نفِّذ ما يلي:
python -m http.server 8000
- في متصفّح ويب، انتقِل إلى
http://localhost:8000/
.
يمكنك أيضًا استخدام أي خادم ويب آخر، مثل Apache HTTP Server.
2. إنشاء مشغّل فيديو بسيط
أولاً، عدِّل index.html لإنشاء عنصر فيديو HTML5 بسيط، مضمّن في عنصر
ملفوف، وزر لبدء التشغيل. يستورد المثال التالي حزمة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA SDK) ويُعدّ AdDisplayContainer
عنصر الحاوية. لمزيد من التفاصيل، يُرجى الاطّلاع على خطوتَي
استيراد حزمة تطوير البرامج (SDK) لإعلانات الوسائط التفاعلية
و
إنشاء حاوية الإعلان
على التوالي.
أضِف العلامات اللازمة لتحميل الملفَين style.css وads.js. بعد ذلك، عدِّلملف styles.css لجعل مشغّل الفيديو متوافقًا مع الأجهزة الجوّالة. أخيرًا، فيملف ads.js، يمكنك تحديد متغيّراتك وتشغيل الفيديو عند النقر على زر التشغيل.
يُرجى العِلم أنّ مقتطف رمز ads.js يحتوي على طلب إلى setUpIMA()
، وهو
محدّد في القسم
بدء AdsLoader وتقديم طلب إعلانات
.
3- استيراد حزمة تطوير البرامج (SDK) لإعلانات الوسائط التفاعلية
بعد ذلك، أضِف إطار عمل IMA باستخدام علامة نص برمجي في index.html، قبل علامة
ads.js
.
4. أنشئ حاوية الإعلان.
في معظم المتصفّحات، تستخدِم حزمة تطوير البرامج لإعلانات الوسائط التفاعلية عنصر حاوية إعلان مخصّصًا لعرض كلّ من الإعلانات و
عناصر واجهة المستخدِم ذات الصلة بالإعلان. يجب ضبط حجم هذه الحاوية لتظهر فوق عنصر الفيديو من
أعلى يمين الشاشة. يتمّ ضبط ارتفاع الإعلانات وعرضها المُدرَجة في هذه الحاوية بواسطة عنصر
adsManager
، لذا لا تحتاج إلى ضبط هذه القيم يدويًا.
لتنفيذ عنصر حاوية الإعلان هذا، عليك أولاً إنشاء div
جديد ضمن عنصر
video-container
. بعد ذلك، عدِّل ملف CSS لوضع العنصر في الزاوية العلوية اليسرى
من video-element
. أخيرًا، أضِف الدالة createAdDisplayContainer()
لإنشاء العنصر
AdDisplayContainer
باستخدام حاوية الإعلان الجديدة
div
.
5- بدء AdsLoader وتقديم طلب إعلانات
لطلب الإعلانات، أنشئ مثيلًا لمحاولة
AdsLoader
. يأخذ مُنشئ AdsLoader
كائن
AdDisplayContainer
كمدخل ويمكن استخدامه لمعالجة كائنات
AdsRequest
المرتبطة بعنوان URL محدّد لعلامة إعلان. تحتوي علامة الإعلان المستخدَمة في هذا المثال على
إعلان ما قبل التشغيل مدّته 10 ثوانٍ. يمكنك اختبار عنوان URL هذا أو أي عنوان URL لعلامة إعلان باستخدام
أداة فحص استجابة VAST.
من أفضل الممارسات الاحتفاظ بمثيّل واحد فقط من AdsLoader
طوال دورة حياة
الصفحة. لتقديم طلبات إعلانات إضافية، أنشئ عنصرًا جديدًا من النوع AdsRequest
، مع إعادة استخدام AdsLoader
نفسه. لمزيد من المعلومات، يُرجى الاطّلاع على
الأسئلة الشائعة حول حزمة IMA SDK.
الاستماع إلى أحداث الأخطاء والإعلانات المحمَّلة والردّ عليها باستخدام AdsLoader.addEventListener
استمع إلى الأحداث التالية:
ADS_MANAGER_LOADED
AD_ERROR
لإنشاء مستمعَي onAdsManagerLoaded()
وonAdError()
، اطّلِع على المثال التالي:
6. الاستجابة لأحداث AdsLoader
عندما يحمّل AdsLoader
الإعلانات بنجاح، يُرسِل حدث
ADS_MANAGER_LOADED
. قسِّم الحدث الذي تم تمريره إلى دالة الاستدعاء لبدء عنصر
AdsManager
. تحمِّل AdsManager
الإعلانات الفردية على النحو المحدّد من قِبل
الاستجابة لعنوان URL لعلامة الإعلان.
تأكَّد من معالجة أي أخطاء تحدث أثناء عملية التحميل. إذا لم يتم تحميل الإعلانات، تأكَّد من مواصلة تشغيل الوسائط بدون إعلانات لتجنُّب التدخل في تجربة مستخدمي التطبيق عند مشاهدة المحتوى.
لمزيد من التفاصيل عن مستمعي الأحداث الذين تم ضبطهم في الدالة onAdsManagerLoaded()
، يُرجى الاطّلاع على
الأقسام الفرعية التالية:
التعامل مع أخطاء AdsManager
يمكن أن يعمل معالِج الأخطاء الذي تم إنشاؤه لمعالجة AdsLoader
أيضًا كمعالِج أخطاء لمعالجة
AdsManager
. اطّلِع على معالِج الحدث الذي يعيد استخدام الدالة onAdError()
.
التعامل مع أحداث التشغيل والإيقاف المؤقت
عندما يكون AdsManager
جاهزًا لإدراج إعلان للعرض، يتمّ إطلاق الحدث
CONTENT_PAUSE_REQUESTED
. يمكنك معالجة هذا الحدث من خلال بدء إيقاف مؤقت في
مشغّل الفيديو الأساسي. وبالمثل، عند اكتمال عرض إعلان، يُطلق AdsManager
الحدث
CONTENT_RESUME_REQUESTED
. يمكنك معالجة هذا الحدث من خلال إعادة تشغيل محتوى الفيديو الأساسي.
للاطّلاع على تعريفات دالتَي onContentPauseRequested()
و
onContentResumeRequested()
، راجِع المثال التالي:
التعامل مع تشغيل المحتوى أثناء عرض الإعلانات غير الخطية
يوقف الرمز AdsManager
فيديو المحتوى مؤقتًا عندما يصبح الإعلان جاهزًا للعرض، ولكن لا يراعي
هذا السلوك الإعلانات غير المباشرة التي يستمر فيها تشغيل المحتوى أثناء
عرض الإعلان.
لتفعيل الإعلانات غير الخطية، انتظِر AdsManager
لبث الحدث
LOADED
. تحقَّق مما إذا كان الإعلان غير قابل للتقديم أو الإيقاف، وإذا لم يكن كذلك، استئنِف التشغيل في عنصر
الفيديو.
للاطّلاع على تعريف الدالة onAdLoaded()
، اطّلِع على المثال التالي.
7. تفعيل ميزة "النقر للإيقاف المؤقت" على الأجهزة الجوّالة
بما أنّ الرمز AdContainer
يتراكب على عنصر الفيديو، لا يمكن للمستخدمين التفاعل مباشرةً مع
المشغّل الأساسي. ويمكن أن يؤدي ذلك إلى إرباك المستخدمين على الأجهزة الجوّالة الذين يتوقّعون أن يتمكّنوا من النقر على
مشغّل الفيديو لإيقاف التشغيل مؤقتًا. لحلّ هذه المشكلة، تُرسِل أداة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA SDK) أي نقرات لا تتم معالجتها من خلال IMA من التراكب الإعلاني إلى عنصر AdContainer
، حيث يمكن معالجتها. ولا ينطبق ذلك على الإعلانات غير القابلة للتقديم أو الإيقاف على المتصفّحات غير المخصّصة للأجهزة الجوّالة، لأنّ النقر على الإعلان يفتح
رابط النقر إلى المحتوى.
لتنفيذ ميزة "النقر للإيقاف المؤقت"، أضِف وظيفة معالج النقر adContainerClick()
التي تُسمّى
في مستمع تحميل النافذة.
8. ابدأ AdsManager.
لبدء تشغيل الإعلان، ابدأ AdsManager
وابدأ تشغيله. للتوافق بشكل كامل مع متصفّحات الأجهزة المتحرّكة
التي لا يمكنك فيها تشغيل الإعلانات تلقائيًا، يمكنك بدء تشغيل الإعلانات من تفاعلات المستخدِم
مع الصفحة، مثل النقر على زر التشغيل.
9- إتاحة تغيير حجم المشغّل
لكي يتم تغيير حجم الإعلانات ديناميكيًا ومطابقة حجم مشغّل الفيديو، أو لمطابقة التغييرات في اتجاه الشاشة، يمكنك استدعاء adsManager.resize()
استجابةً لأحداث تغيير حجم النافذة.
هذا كل شيء! أصبحت الآن تطلب الإعلانات وتعرضها باستخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية. للاطّلاع على مزيد من المعلومات حول ميزات حزمة تطوير البرامج (SDK) المتقدّمة، يمكنك الاطّلاع على الأدلة الأخرى أو على عيّنات على GitHub.