"الإعلانات المدمجة مع المحتوى" هي مواد عرض إعلانية يتم عرضها للمستخدمين من خلال مكوّنات واجهة مستخدم متوافقة مع النظام الأساسي. ويتم عرضها باستخدام أنواع العروض نفسها التي تستخدمها حاليًا لإنشاء تنسيقاتك، ويمكن تنسيقها لتتطابق مع التصميم المرئي لتطبيقك.
عند تحميل إعلان مدمج مع المحتوى، يتلقّى تطبيقك عنصر إعلان يحتوي على مواد العرض الخاصة به، ويكون التطبيق مسؤولاً عن عرضها بدلاً من Google Mobile Ads SDK (Legacy)ثم.
بشكل عام، يتألف عرض "الإعلانات المدمجة مع المحتوى" بنجاح من جزأين: تحميل إعلان باستخدام حزمة تطوير البرامج (SDK)، ثم عرض محتوى الإعلان في تطبيقك.
توضّح هذه الصفحة كيفية استخدام حزمة تطوير البرامج (SDK) لتحميل الإعلانات المدمجة مع المحتوى.
المتطلبات الأساسية
قبل المتابعة، عليك إعداد Google Mobile Ads SDK (Legacy).
الاختبار دائمًا باستخدام "الإعلانات التجريبية"
عند إنشاء تطبيقاتك واختبارها، تأكَّد من استخدام "الإعلانات التجريبية" بدلاً من الإعلانات الفعلية.
أسهل طريقة لتحميل "الإعلانات التجريبية" هي استخدام رقم تعريف الوحدة الإعلانية التجريبية المخصّص للإعلانات المدمجة مع المحتوى على Android:
/21775744923/example/native
تم إعداد هذا الرقم خصيصًا لعرض "الإعلانات التجريبية" لكل طلب، ويمكنك استخدامه في تطبيقاتك الخاصة أثناء الترميز والاختبار وتحديد الأخطاء وحلّها. ما عليك سوى استبداله برقم تعريف الوحدة الإعلانية الخاص بك قبل نشر تطبيقك.
للحصول على تفاصيل حول Google Mobile Ads SDK (Legacy) الإعلانات التجريبية، اطّلِع على تفعيل الإعلانات التجريبية.
تحميل الإعلانات
يتم تحميل "الإعلانات المدمجة مع المحتوى" باستخدام الفئة
AdLoader،
التي تتضمّن الفئة
Builder
الخاصة بها لتخصيصها أثناء الإنشاء. من خلال إضافة أدوات استماع إلى AdLoader عند إنشائها، يحدّد التطبيق أنواع "الإعلانات المدمجة مع المحتوى" التي يكون جاهزًا لتلقّيها. ثم يطلب AdLoader هذه الأنواع فقط.
إنشاء AdLoader
يوضّح الرمز البرمجي التالي كيفية إنشاء AdLoader يمكنه تحميل "الإعلانات المدمجة مع المحتوى":
جافا
Kotlin
استبدِل AD_UNIT_ID برقم تعريف جهازك التجريبي.
طريقة
forNativeAd()
مسؤولة عن إعداد الـ AdLoader لشكل الـ NativeAd.
عند تحميل إعلان بنجاح، يتم استدعاء طريقة onNativeAdLoaded() لكائن أداة الاستماع.
إعداد AdListener باستخدام AdLoader (اختياري)
عند إنشاء AdLoader، تضبط الدالة withAdListener عنصر AdListener لعامل التحميل. تأخذ الطريقة AdListener كمعلَمة وحيدة، والتي تتلقّى عمليات معاودة الاتصال من AdLoader عند وقوع أحداث دورة حياة الإعلان:
جافا
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
new AdListener() {});
Kotlin
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
object : AdListener() {}
)
طلب إدراج الإعلانات
بعد الانتهاء من إنشاء AdLoader، حان الوقت لاستخدامه لطلب الإعلانات.
تتوفّر طريقتان لذلك: loadAd() وloadAds().
loadAd()
ترسِل هذه الطريقة طلبًا لعرض إعلان واحد.
جافا
adLoader.loadAd(new AdManagerAdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdManagerAdRequest.Builder().build())
loadAds()
ترسِل هذه الطريقة طلبًا لعرض إعلانات متعدّدة (ما يصل إلى خمسة إعلانات):
جافا
// Load three native ads.
adLoader.loadAds(new AdManagerAdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdManagerAdRequest.Builder().build(), 3)
تأخذ كلتا الطريقتَين كائنًا
AdManagerAdRequest
كمعلَمة أولى. هذه هي فئة
AdManagerAdRequest نفسها التي تستخدمها إعلانات البانر والإعلانات البينية،
ويمكنك استخدام طرق فئة AdManagerAdRequest لإضافة معلومات الاستهداف، تمامًا كما
تفعل مع أشكال الإعلانات الأخرى.
تحميل إعلانات متعدّدة (اختياري)
تأخذ طريقة loadAds() معلَمة إضافية: عدد الإعلانات التي يجب أن تحاول حزمة تطوير البرامج (SDK) تحميلها للطلب. يبلغ الحدّ الأقصى لهذا العدد خمسة، وليس من المضمون أن تعرض حزمة تطوير البرامج (SDK) العدد الدقيق للإعلانات المطلوبة.
ستكون جميع إعلانات Google المعروضة مختلفة عن بعضها البعض، على الرغم من أنّه ليس من المضمون أن تكون الإعلانات من المساحة الإعلانية المحجوزة أو من المشترين التابعين لجهات خارجية فريدة.
لا تستخدِم طريقة loadAds() إذا كنت تستخدِم التوسّط، لأنّ طلبات عرض "الإعلانات المدمجة مع المحتوى" المتعدّدة لا تعمل مع أرقام تعريف الوحدات الإعلانية التي تم إعدادها للتوسّط.
عمليات معاودة الاتصال
بعد استدعاء loadAd()، يتم إجراء عملية معاودة اتصال واحدة بطرق أداة الاستماع التي تم تحديدها سابقًا
لعرض عنصر "الإعلان المدمج مع المحتوى" أو الإبلاغ عن خطأ.
إلغاء حجز الموارد
احرِص على استخدام طريقة destroy() في "الإعلانات المدمجة مع المحتوى" التي تم تحميلها. يؤدي ذلك إلى إلغاء حجز الموارد المستخدَمة ويمنع تسرّب الذاكرة.
تأكَّد من إتلاف جميع مراجع NativeAd في طريقة onDestroy() لنشاطك.
في معاودة الاتصال onNativeAdLoaded، احرِص على إتلاف أي "إعلانات مدمجة مع المحتوى" حالية سيتم إلغاء الإشارة إليها.
هناك عملية تحقّق أساسية أخرى وهي ما إذا تم إتلاف النشاط، وفي هذه الحالة، استدعِ destroy() على الإعلان المعروض وارجِع على الفور:
جافا
nativeAd.destroy();
Kotlin
nativeAd.destroy()
أفضل الممارسات
اتّبِع هذه القواعد عند تحميل الإعلانات.
يجب أن تخزّن التطبيقات التي تستخدم "الإعلانات المدمجة مع المحتوى" في قائمة مؤقتًا قائمة الإعلانات.
عند التخزين المؤقت للإعلانات، امحُ ذاكرة التخزين المؤقت وأعِد التحميل بعد ساعة واحدة.
- لا تستدعِ
loadAd()علىAdLoaderإلى أن ينتهي تحميل الطلب الأول.
اقتصر على تخزين "الإعلانات المدمجة مع المحتوى" مؤقتًا على ما هو مطلوب فقط. على سبيل المثال، عند التخزين المؤقت، لا تخزِّن مؤقتًا إلا الإعلانات التي تظهر على الشاشة على الفور. تستهلك "الإعلانات المدمجة مع المحتوى" مساحة كبيرة من الذاكرة، ويؤدي تخزينها مؤقتًا بدون إتلافها إلى استخدام مفرط للذاكرة.
أتلِف "الإعلانات المدمجة مع المحتوى" عندما لا تعود قيد الاستخدام.
تسريع الأجهزة للإعلانات الفيديو
لكي تظهر إعلانات الفيديو بنجاح في طرق عرض "الإعلانات المدمجة مع المحتوى"، يجب تفعيل ميزة "تسريع الأجهزة".
تكون ميزة "تسريع الأجهزة" مفعَّلة تلقائيًا، ولكن قد تختار بعض التطبيقات إيقافها. إذا كان ذلك ينطبق على تطبيقك، ننصحك بتفعيل ميزة "تسريع الأجهزة" لفئات الأنشطة التي تستخدم الإعلانات.
تفعيل ميزة "تسريع الأجهزة"
إذا كان تطبيقك لا يعمل بشكلٍ صحيح مع تفعيل ميزة "تسريع الأجهزة" على مستوى العالم، يمكنك التحكّم فيها للأنشطة الفردية أيضًا. لتفعيل ميزة "تسريع الأجهزة" أو إيقافها، استخدِم السمة android:hardwareAccelerated لعنصرَي <application> و<activity> في ملف AndroidManifest.xml. يُفعِّل المثال التالي ميزة "تسريع الأجهزة" للتطبيق بأكمله، ولكنّه يوقفها لنشاط واحد:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
راجِع دليل تسريع الأجهزة لمزيد من المعلومات حول خيارات التحكّم في ميزة "تسريع الأجهزة". يُرجى العِلم أنّه لا يمكن تفعيل ميزة "تسريع الأجهزة" لطرق عرض الإعلانات الفردية إذا كانت ميزة "تسريع الأجهزة" غير مفعَّلة للنشاط، لذا يجب أن يكون النشاط نفسه مفعَّلاً لميزة "تسريع الأجهزة".
عرض إعلانك
بعد تحميل إعلان، ما عليك سوى عرضه للمستخدمين. انتقِل إلى دليل "الإعلانات المدمجة مع المحتوى (متقدم) guide" لمعرفة كيفية ذلك.