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

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

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

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

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

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

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

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

/21775744923/example/adaptive-banner

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

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

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

الخطوة الأولى لعرض إعلان بانر هي وضع AdManagerAdView في تخطيط التطبيق:

Java

// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());

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

Kotlin

// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView

// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)

تحميل إعلان

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

إليك مثال يوضّح كيفية تحميل إعلان:

Java

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

Kotlin

// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)

وإذا تعذّر تحميل الإعلان، لن تحتاج إلى طلب إعلان آخر بشكل صريح، طالما ضبطت الوحدة الإعلانية على إعادة التحميل حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" أي معدّل إعادة تحميل حدّدته في "مدير إعلانات 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 المقصود. يمكن لتطبيقك استخدامه لاستئناف الأنشطة المعلّقة أو يؤدي أي عمل آخر ضروري ليكون جاهزًا للتفاعل.
onAdFailedToLoad() إنّ طريقة onAdFailedToLoad() هي الطريقة الوحيدة التي تتضمّن مَعلمة. معلمة الخطأ من النوع تصف السمة LoadAdError الخطأ الذي حدث. لمزيد من المعلومات يمكنك الرجوع إلى مقالة تصحيح أخطاء تحميل الإعلان ذات الصلة.
onAdImpression() يتمّ استدعاء الطريقة onAdImpression() عند تسجيل مرّة ظهور لإعلان.
onAdLoaded() onAdLoaded() عند الانتهاء من تحميل الإعلان. إذا كنت تريد تأخير جارٍ إضافة AdManagerAdView إلى النشاط أو الجزء إلى أن تتأكّد من تحميل الإعلان يمكنك القيام بذلك هنا.
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>

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

احتساب عدد مرات الظهور يدويًا

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

يمكنك إرسال إشعارات مرات الظهور يدويًا إلى "مدير الإعلانات" إذا كان لديك إعلانات خاصة الشروط التي يجب استيفاؤها عند تسجيل مرة ظهور. للقيام بذلك، قم بتمكين AdManagerAdRequest لمرات الظهور اليدوية قبل تحميل الإعلان:

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build();

Kotlin

val adRequest = AdManagerAdRequest.Builder()
    .setManualImpressionsEnabled(true)
    .build()

عندما تلاحظ أنّ أحد الإعلانات قد تمّ إرجاعه بنجاح ويظهر على الشاشة، يمكنك تسجيل مرة ظهور يدويًا:

Java

{ ad_view }.recordManualImpression();

Kotlin

AdManagerAdView.recordManualImpression()

أحداث التطبيقات

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

يمكنك الاستماع إلى أحداث التطبيقات المتعلّقة بخدمة "مدير إعلانات Google" باستخدام AppEventListener. وقد تقع هذه الأحداث في أي وقت خلال دورة حياة الإعلان، حتى قبل تم الاتصال بـ "onAdLoaded()".

Java

public interface AppEventListener {
  void onAppEvent(String name, String info);
}

Kotlin

interface AppEventListener {
    fun onAppEvent(name: String, info: String)
}

يتم استدعاء void onAppEvent(String name, String info) عند وقوع حدث في التطبيق في أحد الإعلانات. يمكن تنفيذ هذه الواجهة من خلال نشاطك أو أي واجهة أخرى الكائن:

Java

import com.google.android.gms.ads.admanager.*;

public class BannerExample extends Activity implements AppEventListener {
}

Kotlin

import com.google.android.gms.ads.admanager.*

class BannerExample : Activity(), AppEventListener {
}

ثم تمريرها إلى AdManagerAdView:

Java

AdManagerAdView.setAppEventListener(this);

Kotlin

AdManagerAdView.appEventListener = this

في ما يلي مثال يوضّح كيفية تغيير لون خلفية تطبيقك بناءً على حدث تطبيق يحمل اسم لون:

Java

@Override
public void onAppEvent(String name, String info) {
  if ("color".equals(name)) {
    if ("green".equals(info)) {
      // Set background color to green.
    } else if ("blue".equals(info)) {
      // Set background color to blue.
    } else {
      // Set background color to black.
    }
  }
}

Kotlin

override fun onAppEvent(name: String?, info: String?) {
    if (name == "color") {
        when (info) {
            "green" -> {
                // Set background color to green.
            }
            "blue" -> {
                // Set background color to blue.
            }
            else -> {
                // Set background color to black.
            }
        }
    }
}

إليك تصميم الإعلان المقابل الذي يرسل رسائل أحداث التطبيقات الملونة إلى المستمع:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

يمكنك الاطّلاع على مثال أحداث تطبيقات "مدير الإعلانات" لتنفيذ أحداث التطبيقات في تطبيق واجهة برمجة تطبيقات تجريبي.

Java Kotlin

مراجع إضافية

أمثلة على GitHub

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

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

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

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

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

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

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