إعلانات البانر

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

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

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

المتطلبات الأساسية

الاختبار دائمًا باستخدام الإعلانات الاختبارية

عند إنشاء تطبيقاتك واختبارها، احرص على استخدام إعلانات تجريبية بدلاً من إعلانات بث مباشر وقد يؤدي عدم الالتزام بذلك إلى تعليق حسابك.

أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام الرقم التعريفي المخصص للوحدة الإعلانية الاختبارية إعلانات البانر في Android:

ca-app-pub-3940256099942544/9214589741

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

لمزيد من المعلومات عن آلية عمل الإعلانات الاختبارية لحزمة تطوير البرامج (SDK) لعرض الإعلانات للأجهزة الجوّالة، راجع اختبار الإعلانات:

إضافة AdView إلى التنسيق

الخطوة الأولى لعرض إعلان بانر هي وضع AdView في تنسيق Activity أو Fragment حيث تريد عرض العنصر :

Java

private AdSize getAdSize() {
  // Determine the screen width (less decorations) to use for the ad width.
  Display display = getWindowManager().getDefaultDisplay();
  DisplayMetrics outMetrics = new DisplayMetrics();
  display.getMetrics(outMetrics);

  float density = outMetrics.density;

  float adWidthPixels = adContainerView.getWidth();

  // If the ad hasn't been laid out, default to the full screen width.
  if (adWidthPixels == 0) {
    adWidthPixels = outMetrics.widthPixels;
  }

  int adWidth = (int) (adWidthPixels / density);
  return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}

private void loadBanner() {
  
  // Create a new ad view.
  AdView adView = new AdView(this);
  adView.setAdSizes(getAdSize());
  adView.setAdUnitId("ca-app-pub-3940256099942544/9214589741");

  // Replace ad container with new ad view.
  adContainerView.removeAllViews();
  adContainerView.addView(adView);

  // Start loading the ad in the background.
  AdRequest adRequest = new AdRequest.Builder().build();
  adView.loadAd(adRequest);
}

Kotlin


// Determine the screen width (less decorations) to use for the ad width.
// If the ad hasn't been laid out, default to the full screen width.
private val adSize: AdSize
  get() {
    val display = windowManager.defaultDisplay
    val outMetrics = DisplayMetrics()
    display.getMetrics(outMetrics)

    val density = outMetrics.density

    var adWidthPixels = binding.adViewContainer.width.toFloat()
    if (adWidthPixels == 0f) {
      adWidthPixels = outMetrics.widthPixels.toFloat()
    }

    val adWidth = (adWidthPixels / density).toInt()
    return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
  }

private fun loadBanner() {
  
  // Create a new ad view.
  val adView = AdView(this)
  adView.adSizes = adSize
  adView.adUnitId = "ca-app-pub-3940256099942544/9214589741"

  // Create an ad request.
  val adRequest = AdRequest.Builder().build()

  // Start loading the ad in the background.
  adView.loadAd(adRequest)
}

تحميل إعلان

وبعد وضع AdView، تتمثل الخطوة التالية في لتحميل إعلان. تم إجراء ذلك من خلال loadAd() في الفئة AdView. يستغرق ذلك AdRequest. تتضمن معلومات بيئة التشغيل، مثل معلومات الاستهداف، حول طلب إعلان واحد.

في ما يلي مثال يوضّح كيفية تحميل إعلان باستخدام طريقة onCreate() في Activity:

Java

private void loadBanner() {
  // Create a new ad view.
  adView = new AdView(this);
  adView.setAdUnitId(AD_UNIT);
  adView.setAdSize(getAdSize());
  
  // Replace ad container with new ad view.
  adContainerView.removeAllViews();
  adContainerView.addView(adView);

  // Start loading the ad in the background.
  AdRequest adRequest = new AdRequest.Builder().build();
  adView.loadAd(adRequest);
}

Kotlin

private fun loadBanner() {
  // This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
  adView.adUnitId = "/6499/example/banner"
  adView.setAdSize(adSize)
  
  // Create an ad request.
  val adRequest = AdRequest.Builder().build()

  // Start loading the ad in the background.
  adView.loadAd(adRequest)
}

وإذا تعذّر تحميل إعلانك، لن تكون بحاجة إلى طلب إعلان آخر صراحةً طالما ضبطت الوحدة الإعلانية على إعادة التحميل حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" تحترم أي معدل إعادة تحميل حدّدته في حساب وواجهة الويب. في حال عدم تفعيل إعادة التحميل، ستحتاج إلى إصدار رمز جديد طلبك.

هذا كل شيء! تطبيقك جاهز الآن لعرض إعلانات البانر.

أحداث الإعلانات

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

Java

AdView.setAdListener(new AdListener() {
    @Override
    public void onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    @Override
    public void onAdFailedToLoad(LoadAdError adError) {
      // Code to be executed when an ad request fails.
    }

    @Override
    public void onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    @Override
    public void onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    @Override
    public void onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
});

Kotlin

AdView.adListener = object: AdListener() {
    override fun onAdClicked() {
      // Code to be executed when the user clicks on an ad.
    }

    override fun onAdClosed() {
      // Code to be executed when the user is about to return
      // to the app after tapping on an ad.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Code to be executed when an ad request fails.
    }

    override fun onAdImpression() {
      // Code to be executed when an impression is recorded
      // for an ad.
    }

    override fun onAdLoaded() {
      // Code to be executed when an ad finishes loading.
    }

    override fun onAdOpened() {
      // Code to be executed when an ad opens an overlay that
      // covers the screen.
    }
}

كل طريقة من الطرق القابلة للإلغاء في AdListener مع حدث في دورة حياة الإعلان.

الطرق القابلة للإلغاء
onAdClicked() onAdClicked() عند تسجيل نقرة على إعلان.
onAdClosed() onAdClosed() عندما يعود المستخدم إلى التطبيق بعد مشاهدة إعلان عنوان URL المقصود. يمكن لتطبيقك استخدامه لاستئناف الأنشطة المعلّقة أو يؤدي أي عمل آخر ضروري ليكون جاهزًا للتفاعل. يُرجى الرجوع إلى AdMob مثال على AdListener لتنفيذ طرق الاستماع إلى الإعلانات في تطبيق Android API التجريبي.
onAdFailedToLoad() onAdFailedToLoad() هي الطريقة الوحيدة التي تتضمن معلمة. معلمة الخطأ من النوع تصف السمة LoadAdError الخطأ الذي حدث. لمزيد من المعلومات يمكنك الرجوع إلى مقالة تصحيح أخطاء تحميل الإعلان ذات الصلة.
onAdImpression() onAdImpression() عند تسجيل مرة ظهور للإعلان.
onAdLoaded() onAdLoaded() عند الانتهاء من تحميل الإعلان. إذا كنت تريد تأخير جارٍ إضافة AdView إلى النشاط أو الجزء إلى أن تتأكّد من تحميل الإعلان يمكنك القيام بذلك هنا.
onAdOpened() onAdOpened() عندما يفتح الإعلان تراكبًا يغطي الشاشة.

تسريع الأجهزة لإعلانات الفيديو

لكي تظهر إعلانات الفيديو بنجاح في مرات مشاهدة إعلانات البانر، يجب التسريع يجب تمكين هذه الميزة.

يتم تفعيل ميزة "تسريع الأجهزة" تلقائيًا، ولكن قد تختار بعض التطبيقات إيقافها بها. إذا كان ذلك ينطبق على تطبيقك، ننصحك بتفعيل ميزة "تسريع الأجهزة" في صفان (Activity) يستخدمان الإعلانات.

تفعيل ميزة "تسريع الأجهزة"

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

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

مراجع إضافية

أمثلة على GitHub

  • مثال على إعلانات البانر التكيُّفية الثابتة: Java | Kotlin
  • عرض توضيحي للميزات المتقدمة: Java | Kotlin

الخطوات التالية

إعلانات البانر القابلة للتصغير

إعلانات البانر القابلة للتصغير هي إعلانات بانر يتم عرضها في البداية كإعلانات بحجم أكبر مع زر لتصغير الإعلان إلى حجم أصغر. ننصحك باستخدامه لتحسين أدائك بشكلٍ أكبر اطّلِع على إعلانات البانر القابلة للتصغير للحصول على مزيد من التفاصيل.

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

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

الاطّلاع على مواضيع أخرى