"الإعلانات المدمجة مع المحتوى" هي مواد عرض إعلانية يتم عرضها للمستخدمين من خلال مكوّنات واجهة مستخدِم متوافقة مع النظام الأساسي. تُعرض هذه الإعلانات باستخدام أنواع العروض نفسها التي تستخدمها حاليًا لإنشاء تنسيقاتك، ويمكن تنسيقها لتتطابق مع التصميم المرئي لتطبيقك.
عند تحميل إعلان مدمج مع المحتوى، يتلقّى تطبيقك عنصر إعلان يحتوي على مواد عرضه، ويكون التطبيق مسؤولاً عن عرضها بدلاً من Google Mobile Ads SDK
بشكل عام، يتألف عرض "الإعلانات المدمجة مع المحتوى" بنجاح من جزأين: تحميل إعلان باستخدام حزمة تطوير البرامج (SDK)، ثم عرض محتوى الإعلان في تطبيقك.
توضّح هذه الصفحة كيفية استخدام حزمة تطوير البرامج (SDK) لتحميل الإعلانات المدمجة مع المحتوى.
المتطلبات الأساسية
قبل المتابعة، عليك إعداد Google Mobile Ads SDK.
الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، تأكَّد من استخدام الإعلانات الاختبارية بدلاً من الإعلانات الفعلية.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام رقم تعريف الوحدة الإعلانية الاختبارية المخصّص للإعلانات المدمجة مع المحتوى على Android:
/21775744923/example/native
تم إعداد هذا الرقم خصيصًا لعرض إعلانات اختبارية لكل طلب، ويمكنك استخدامه في تطبيقاتك أثناء الترميز والاختبار وتحديد الأخطاء وحلّها. ما عليك سوى استبداله برقم تعريف الوحدة الإعلانية الخاص بك قبل نشر تطبيقك.
للاطّلاع على تفاصيل حول الإعلانات الاختبارية Google Mobile Ads SDK، يُرجى مراجعة مقالة تفعيل الإعلانات الاختبارية.
تحميل الإعلانات
يتم تحميل "الإعلانات المدمجة مع المحتوى" باستخدام الفئة
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>
راجِع دليل تسريع الأجهزة لمزيد من المعلومات حول خيارات التحكّم في ميزة "تسريع الأجهزة". يُرجى العِلم أنّه لا يمكن تفعيل ميزة "تسريع الأجهزة" لطرق عرض الإعلانات الفردية إذا كانت ميزة "تسريع الأجهزة" غير مفعَّلة للنشاط، لذا يجب أن تكون ميزة "تسريع الأجهزة" مفعَّلة للنشاط نفسه.
عرض إعلانك
بعد تحميل إعلان، كل ما عليك فعله هو عرضه للمستخدمين. انتقِل إلى دليل الإعلانات المدمجة مع المحتوى (متقدّمة) لمعرفة كيفية ذلك.