تسهّل حِزم تطوير البرامج (SDK) لإعلانات الوسائط التفاعلية دمج إعلانات الوسائط المتعددة في مواقعك الإلكترونية وتطبيقاتك. يمكن لحِزم تطوير البرامج لإعلانات الوسائط التفاعلية طلب الإعلانات من أي خادم إعلانات متوافق مع VAST وإدارة تشغيل الإعلانات في تطبيقاتك. باستخدام حِزم تطوير البرامج لإعلانات الوسائط التفاعلية من جهة العميل، يمكنك التحكّم في تشغيل فيديوهات المحتوى، بينما تتولّى حزمة تطوير البرامج تشغيل الإعلانات. يتم تشغيل الإعلانات في مشغّل فيديو منفصل يظهر فوق مشغّل فيديو المحتوى في التطبيق.
يوضّح هذا الدليل كيفية دمج "حزمة تطوير البرامج لإعلانات الوسائط التفاعلية" في تطبيق بسيط لمشغّل فيديو. إذا أردت الاطّلاع على نموذج تكامل مكتمل أو اتّباعه، يمكنك تنزيل المثال البسيط من GitHub. إذا كنت مهتمًا بمشغّل HTML5 يتضمّن حزمة تطوير البرامج مسبقًا، يمكنك الاطّلاع على المكوّن الإضافي لحزمة تطوير البرامج لإعلانات الوسائط التفاعلية في Video.js.
نظرة عامة على IMA من جهة العميل
يتضمّن تنفيذ "إعلانات الوسائط التفاعلية" من جهة العميل أربعة مكوّنات رئيسية من حزمة تطوير البرامج (SDK)، كما هو موضّح في هذا الدليل:
AdDisplayContainer
: عنصر حاوٍ يحدّد المكان الذي تعرض فيه IMA عناصر واجهة مستخدم الإعلان وتقيس إمكانية العرض، بما في ذلك العرض النشط و Open Measurement.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.
2. إنشاء مُشغّل فيديو بسيط
أولاً، عدِّل ملف index.html لإنشاء عنصر فيديو بسيط بتنسيق HTML5 مضمّن في عنصر
تضمين، وزر لتشغيل الفيديو. يستورد المثال التالي حزمة تطوير البرامج لإعلانات الوسائط التفاعلية ويعدّ
عنصر الحاوية AdDisplayContainer
. لمزيد من التفاصيل، يُرجى الاطّلاع على الخطوتَين
استيراد حزمة تطوير البرامج لإعلانات الوسائط التفاعلية
و
إنشاء حاوية الإعلان
على التوالي.
أضِف العلامات اللازمة لتحميل الملفَين style.css وads.js. بعد ذلك، عدِّل ملف styles.css لجعل مشغّل الفيديو متجاوبًا مع الأجهزة الجوّالة. أخيرًا، في ads.js، عرِّف المتغيّرات وشغِّل الفيديو عند النقر على زر التشغيل.
يُرجى العِلم أنّ مقتطف الرمز ads.js يتضمّن طلبًا إلى setUpIMA()
، والذي تم تحديده في القسم
تهيئة AdsLoader وإجراء طلب إعلانات
.
3- استيراد حزمة تطوير البرامج لإعلانات الوسائط التفاعلية
بعد ذلك، أضِف إطار عمل 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 لعلامة الإعلان هذه أو أي علامة إعلان أخرى باستخدام أداة فحص استجابة VAST.
وفقًا لأفضل الممارسات، يجب الاحتفاظ بمثيل واحد فقط من AdsLoader
طوال دورة حياة الصفحة. لتقديم طلبات إعلانية إضافية، أنشئ عنصر AdsRequest
جديدًا، ولكن أعِد استخدام AdsLoader
نفسه. لمزيد من المعلومات، يُرجى الاطّلاع على الأسئلة الشائعة حول حزمة تطوير البرامج (SDK) من IMA.
الاستماع إلى الأحداث التي تم تحميلها والأحداث التي تتضمّن أخطاءً والردّ عليها باستخدام 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
. تعامَل مع هذا الحدث من خلال إيقاف مشغّل الفيديو الأساسي مؤقتًا. وبالمثل، عند اكتمال عرض الإعلان، يتم إطلاق الحدث CONTENT_RESUME_REQUESTED
من خلال AdsManager
. تعامَل مع هذا الحدث من خلال إعادة تشغيل فيديو المحتوى الأساسي.
للاطّلاع على تعريفات الدالتَين onContentPauseRequested()
وonContentResumeRequested()
، راجِع المثال التالي:
التعامل مع تشغيل المحتوى أثناء عرض الإعلانات غير الخطية
يؤدي الزر AdsManager
إلى إيقاف فيديو المحتوى مؤقتًا عندما يكون الإعلان جاهزًا للتشغيل، ولكن هذا السلوك لا ينطبق على الإعلانات غير الخطية، حيث يستمر تشغيل المحتوى أثناء عرض الإعلان.
لإتاحة الإعلانات غير الخطية، استمع إلى AdsManager
لإصدار الحدث LOADED
. تحقَّق مما إذا كان الإعلان خطيًا، وإذا لم يكن كذلك، استأنِف التشغيل على عنصر الفيديو.
للاطّلاع على تعريف الدالة onAdLoaded()
، راجِع المثال التالي.
7. تفعيل ميزة "النقر للإيقاف مؤقتًا" على الأجهزة الجوّالة
بما أنّ AdContainer
يغطي عنصر الفيديو، لا يمكن للمستخدمين التفاعل مباشرةً مع مشغّل الفيديو الأساسي. قد يؤدي ذلك إلى إرباك المستخدمين على الأجهزة الجوّالة الذين يتوقعون أن يتمكّنوا من النقر على مشغّل الفيديو لإيقاف التشغيل مؤقتًا. لحلّ هذه المشكلة، تنقل "أداة تطوير برامج إعلانات الوسائط التفاعلية" أي نقرات لا تعالجها "إعلانات الوسائط التفاعلية" من تراكب الإعلان إلى العنصر AdContainer
، حيث يمكن معالجتها. لا ينطبق ذلك على الإعلانات الخطية على المتصفّحات غير المخصّصة للأجهزة الجوّالة، لأنّ النقر على الإعلان يفتح رابط النقر إلى الظهور.
لتنفيذ ميزة "النقر للإيقاف المؤقت"، أضِف دالة معالج النقر adContainerClick()
التي تحمل الاسم
في أداة معالجة أحداث تحميل النافذة.
8. بدء AdsManager
لبدء تشغيل الإعلان، ابدأ عملية AdsManager
. لإتاحة الإعلانات على متصفّحات الأجهزة الجوّالة بالكامل، حيث لا يمكنك تشغيل الإعلانات تلقائيًا، عليك بدء تشغيل الإعلان من خلال تفاعلات المستخدم مع الصفحة، مثل النقر على زر التشغيل.
9- إتاحة تغيير حجم المشغّل
لكي يتم تغيير حجم الإعلانات ديناميكيًا ومطابقتها لحجم مشغّل الفيديو، أو لمطابقة التغييرات في اتجاه الشاشة، عليك استدعاء adsManager.resize()
استجابةً لأحداث تغيير حجم النافذة.
هذا كل شيء! أنت الآن تطلب الإعلانات وتعرضها باستخدام حزمة تطوير البرامج للإعلانات التفاعلية. للاطّلاع على المزيد من ميزات حزمة تطوير البرامج (SDK) المتقدّمة، راجِع الأدلة الأخرى أو الأمثلة على GitHub.