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

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

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

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

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

تتمثل الخطوة الأولى نحو عرض إعلان بانر في وضع AdView في تنسيق Activity أو Fragment الذي تريد عرضه فيه. وأسهل طريقة لإجراء ذلك هي إضافة ملف إلى ملف تنسيق XML المقابل. في ما يلي مثال يعرض نشاطًا: AdView:

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

يُرجى ملاحظة السمات المطلوبة التالية:

  • ads:adSize - اضبط هذه القيمة على حجم الإعلان الذي تريد استخدامه. إذا لم تكن تريد استخدام الحجم العادي المحدد بواسطة الثابت، يمكنك ضبط حجم مخصّص بدلاً من ذلك. اطّلع على قسم حجم إعلان البانر أدناه لمعرفة التفاصيل.
  • ads:adUnitId - اضبط هذا المعرّف الفريد على الوحدة الإعلانية في تطبيقك حيث سيتم عرض الإعلانات. إذا عرضت إعلانات البانر في أنشطة مختلفة، يتطلب كل منها وحدة إعلانية.

يمكنك بدلاً من ذلك إنشاء AdView آليًا:

Java

AdView adView = new AdView(this);

adView.setAdSize(AdSize.BANNER);

adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdView(this)

adView.adSize = AdSize.BANNER

adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

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

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

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

ca-app-pub-3940256099942544/6300978111

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

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

تحميل إعلان

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

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

النشاط الرئيسي (المقتطف)

Java

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

Kotlin

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        MobileAds.initialize(this) {}

        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

أكملت هذه الخطوة. تطبيقك جاهز الآن لعرض إعلانات البانر.

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

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

لاستخدام AdListener مع AdView، يجب طلب الطريقة setAdListener():

Java

mAdView.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

mAdView.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() عندما يفتح الإعلان تراكبًا يغطّي الشاشة.

يسرد الجدول التالي أحجام إعلانات البانر العادية.

الحجم بالبكسل (xxH) الوصف أماكن التوفّر ثابت حجم الإعلان
320 × 50 "بانر" الهواتف والأجهزة اللوحية BANNER
320×100 بانر كبير الهواتف والأجهزة اللوحية LARGE_BANNER
300 × 250 مستطيل متوسط IAB الهواتف والأجهزة اللوحية MEDIUM_RECTANGLE
468×60 بانر IAB بالحجم الكامل الأجهزة اللوحية FULL_BANNER
728×90 قائمة الإعلانات المتصدِّرة في مكتب الإعلانات التفاعلية (IAB) الأجهزة اللوحية LEADERBOARD
العرض المتوفّر × الارتفاع التكيّفي إعلان بانر تكيُّفي الهواتف والأجهزة اللوحية لا ينطبق
عرض الشاشة × 32|50|90 إعلانات البانر الذكية الهواتف والأجهزة اللوحية SMART_BANNER
مزيد من المعلومات عن إعلانات البانر التكيُّفية التي تهدف إلى استبدال إعلانات البانر الذكية

لتحديد حجم إعلان بانر مخصص، اضبط AdSize المطلوب، كما هو موضّح هنا:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

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

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

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

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

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

  • نموذج تطبيق بانر RecyclerView: Java

برامج تعليمية حول الفيديو على "إعلانات Google" على الأجهزة الجوّالة

قصص النجاح