إعلانات البانر التكيُّفية المضمّنة

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

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

يتناول هذا الدليل كيفية إنشاء "إعلانات البانر التكيّفية المضمّنة" وضبط حجمها.

تعرض الصورة التالية "إعلانات بانر تكيُّفية مضمّنة" في محتوى قابل للتمرير:

مخطّط بياني يعرض الاختلافات بين "إعلانات البانر التكيُّفية" و"إعلانات البانر التكيُّفية المضمّنة"

قبل البدء

قبل المتابعة، تأكَّد من إعداد "إعلانات البانر".

لعرض مثال كامل على إعلان بانر تكيُّفي مضمّن، نزِّل نموذج التطبيق التالي:

تنفيذ "إعلانات البانر التكيّفية المضمّنة"

لتنفيذ "إعلانات البانر التكيُّفية" المضمّنة، عليك ضبط حجم الإعلان وإنشاء طلب عرض إعلان وتحميل الإعلان.

لتحديد حجم "إعلان بانر تكيُّفي" مضمّن، حدِّد عرض الإعلان. تشمل الأساليب الشائعة ما يلي:

  • استخدام عرض ملء الشاشة.
  • باستخدام عرض تصميم العنصر الرئيسي الذي يحتوي على الإعلان
  • يتم تعديل العرض لمراعاة المناطق الآمنة على الجهاز.

عند إنشاء عنصر حجم الإعلان، استخدِم هذا العرض المحسوب.

يحدّد المثال التالي حجم الإعلان، وينشئ طلب عرض إعلان، ويحمّل الإعلان:

Kotlin

private fun loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320)

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()

  // Step 2 - Load the ad.
  BannerAd.load(
    adRequest,
    object : AdLoadCallback<BannerAd> {
      override fun onAdLoaded(ad: BannerAd) {
        // Assign the loaded ad to the BannerAd object.
        bannerAd = ad
        // Step 3 - Call BannerAd.getView() to get the View and add it
        // to view hierarchy on the UI thread.
        activity?.runOnUiThread {
          binding.bannerViewContainer.addView(ad.getView(requireActivity()))
        }
      }

      override fun onAdFailedToLoad(loadAdError: LoadAdError) {
        bannerAd = null
      }
    }
  )
}

جافا

private void loadAd() {
  // Create an inline adaptive ad size. 320 is a placeholder value.
  // Replace 320 with your banner container width.
  AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320);

  // Step 1 - Create a BannerAdRequest object with ad unit ID and size.
  BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID",
      adSize).build();

  // Step 2 - Load the ad.
  BannerAd.load(
      adRequest,
      new AdLoadCallback<BannerAd>() {
        @Override
        public void onAdLoaded(@NonNull BannerAd ad) {
          // Assign the loaded ad to the BannerAd object.
          bannerAd = ad;
          // Step 3 - Call BannerAd.getView() to get the View and add it
          // to view hierarchy on the UI thread.
          if (getActivity() != null) {
            getActivity()
                .runOnUiThread(() ->
                    binding.bannerViewContainer.addView(ad.getView(getActivity())));
          }
        }

        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError adError) {
          bannerAd = null;
        }
      });
}

اضبط حجم الإعلان على قيمة أصغر من حجم شاشة الجهاز أو مساوية له. لتحديد الحد الأقصى لحجم الشاشة، استخدِم الطريقة Resources.getDisplayMetrics. تستخدم أبعاد العنصر AdSize وحدات بكسل مستقلة الكثافة (dp). عند المقارنة، قم بتحويل حجم الشاشة من بكسل إلى dp. لمعرفة التفاصيل حول قيود الحجم، يُرجى الاطّلاع على متطلبات حجم طلب عرض الإعلان.

ضبط تنسيق "إعلان البانر التكيُّفي المضمّن"

لتحميل "إعلان بانر تكيّفي مضمّن" مسبقًا لتنسيق معيّن، استخدِم الطريقتَين التاليتَين:

إذا كان تطبيقك يتيح العرض في الوضعَين العمودي والأفقي، وأردت تحميل إعلان بانر تكيُّفي مسبقًا في التنسيق الحالي، استخدِم الطريقة AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width). تُحمّل هذه الطريقة إعلانًا في التنسيق الحالي.

الحدّ من ارتفاع "إعلان البانر التكيُّفي المضمّن"

بشكلٍ تلقائي، يكون الحدّ الأقصى لارتفاع "إعلانات البانر التكيُّفية" المضمّنة التي تم إنشاؤها بدون قيمة maxHeight مساويًا لارتفاع الجهاز. للحدّ من ارتفاع إعلان البانر التكيُّفي المضمّن، استخدِم الطريقة AdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight).