تحميل إعلان مدمج مع المحتوى

اختيار النظام الأساسي: Android iOS Flutter Unity Android (قديم)

"الإعلانات المدمجة مع المحتوى" هي مواد عرض إعلانات يتم عرضها للمستخدمين من خلال مكوّنات واجهة المستخدم المدمجة في المنصة. ويتم عرضها باستخدام أنواع العروض نفسها التي تستخدمها حاليًا لإنشاء تنسيقاتك، ويمكن تنسيقها لتتطابق مع التصميم المرئي لتطبيقك.

عند تحميل "إعلان مدمج مع المحتوى"، يتلقّى تطبيقك عنصر إعلان يحتوي على مواد العرض الخاصة به، ويكون التطبيق، وليس 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 يمكنه تحميل "الإعلانات المدمجة مع المحتوى":

جافا

// It is recommended to call AdLoader.Builder on a background thread.
new Thread(
        () -> {
          AdLoader adLoader =
              new AdLoader.Builder(context, "AD_UNIT_ID")
                  .forNativeAd(
                      new NativeAd.OnNativeAdLoadedListener() {
                        @Override
                        // The native ad loaded successfully. You can show the ad.
                        public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {}
                      })
                  .withAdListener(
                      new AdListener() {
                        @Override
                        // The native ad load failed. Check the adError message for failure
                        // reasons.
                        public void onAdFailedToLoad(@NonNull LoadAdError adError) {}
                      })
                  // Use the NativeAdOptions.Builder class to specify individual options
                  // settings.
                  .withNativeAdOptions(new NativeAdOptions.Builder().build())
                  .build();
        })
    .start();

Kotlin

// It is recommended to call AdLoader.Builder on a background thread.
CoroutineScope(Dispatchers.IO).launch {
  val adLoader =
    AdLoader.Builder(context, "AD_UNIT_ID")
      .forNativeAd { nativeAd ->
        // The native ad loaded successfully. You can show the ad.
      }
      .withAdListener(
        object : AdListener() {
          override fun onAdFailedToLoad(adError: LoadAdError) {
            // The native ad load failed. Check the adError message for failure reasons.
          }
        }
      )
      // Use the NativeAdOptions.Builder class to specify individual options settings.
      .withNativeAdOptions(NativeAdOptions.Builder().build())
      .build()
}

استبدِل 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>

راجِع دليل تسريع الأجهزة للحصول على مزيد من المعلومات حول خيارات التحكّم في تسريع الأجهزة. يُرجى العِلم أنّه لا يمكن تفعيل ميزة "تسريع الأجهزة" لمشاهدات الإعلانات الفردية إذا كان النشاط غير مفعَّل، لذا يجب تفعيل ميزة "تسريع الأجهزة" للنشاط نفسه.

عرض إعلانك

بعد تحميل إعلان، كل ما عليك فعله هو عرضه للمستخدمين. لمزيد من المعلومات، يُرجى الاطّلاع على الإعلانات المدمجة مع المحتوى (متقدّمة) أو الإعلانات المدمجة مع المحتوى بملء الشاشة.