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

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

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

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

الحجم بوحدة dp (WxH) الوصف مدى التوفّر ثابت AdSize
320 × 50 "بانر" الهواتف والأجهزة اللوحية BANNER
320×100 بانر كبير الهواتف والأجهزة اللوحية LARGE_BANNER
300 × 250 مستطيل متوسط مكتب الإعلانات التفاعلية الهواتف والأجهزة اللوحية MEDIUM_RECTANGLE
468×60 بانر بالحجم الكامل من مكتب الإعلانات التفاعلية (IAB) الأجهزة اللوحية FULL_BANNER
728×90 الإعلانات المتصدِّرة من IAB الأجهزة اللوحية LEADERBOARD
العرض المُقدّم × الارتفاع التكيفي إعلان بانر تكيُّفي الهواتف والأجهزة اللوحية لا ينطبق
عرض الشاشة x 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" على الأجهزة الجوّالة

قصص النجاح

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

مزيد من المعلومات عن خصوصية المستخدم