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

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

يساعدك هذا الدليل في بدء استخدام "إعلانات البانر التكيُّفية الثابتة". تحسّن "إعلانات البانر التكيُّفية الثابتة" حجم الإعلان لكل جهاز باستخدام عرض إعلان تحدّده أنت.

"إعلانات البانر التكيُّفية الثابتة" هي إعلانات بنسبة عرض إلى ارتفاع ثابتة بدلاً من الإعلانات ذات الحجم الثابت. تشبه نسبة العرض إلى الارتفاع 320×50. بعد تحديد العرض الكامل المتاح، Google Mobile Ads Flutter Plugin يعرض إعلانًا بارتفاع مثالي لهذا العرض. يظل الارتفاع الأمثل للإعلان ثابتًا في مختلف طلبات الإعلانات، ويظل المحتوى المحيط بالإعلان ثابتًا عند إعادة تحميل الإعلان.

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

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

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

Android

ca-app-pub-3940256099942544/9214589741

iOS

ca-app-pub-3940256099942544/2435281174

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

الحصول على حجم الإعلان

توفّر "إعلانات البانر التكيُّفية الكبيرة" شكلاً أكبر مصمّمًا للتصاميم غير القابلة للتمرير. مقارنةً بـ "إعلانات البانر التكيُّفية الثابتة" العادية، تسمح هذه الإعلانات بارتفاع أقصى أكبر (يصل إلى% 20 من ارتفاع الشاشة، بين 50 و150 بكسل مستقل الكثافة). تم تحسين هذه المساحة المتزايدة لعرض محتوى الفيديو.

لطلب إعلان بانر بالحجم الصحيح، اتّبِع الخطوات التالية:

  1. احصل على عرض شاشة الجهاز بوحدات بكسل مستقلة الكثافة باستخدام MediaQuery.of(context). إذا كنت لا تريد استخدام العرض الكامل للشاشة، يمكنك ضبط عرض مخصّص.

  2. استخدِم الطريقة الثابتة المناسبة في فئة AdSize للحصول على عنصر AdSize. على سبيل المثال، استخدِم AdSize.getLargeAnchoredAdaptiveBannerAdSize(int width) للحصول على حجم الإعلان للاتجاه الحالي.

// Get an AnchoredAdaptiveBannerAdSize before loading the ad.
final size = await AdSize.getLargeAnchoredAdaptiveBannerAdSize(
  MediaQuery.sizeOf(context).width.truncate(),
);

تحميل إعلان

يحمّل المثال التالي إعلان بانر:

void _loadAd() async {
  // Get an AnchoredAdaptiveBannerAdSize before loading the ad.
  final size = await AdSize.getLargeAnchoredAdaptiveBannerAdSize(
    MediaQuery.sizeOf(context).width.truncate(),
  );

  if (size == null) {
    // Unable to get width of anchored banner.
    return;
  }

  BannerAd(
    adUnitId: "_adUnitId",
    request: const AdRequest(),
    size: size,
    listener: BannerAdListener(
      onAdLoaded: (ad) {
        // Called when an ad is successfully received.
        debugPrint("Ad was loaded.");
        setState(() {
          _bannerAd = ad as BannerAd;
        });
      },
      onAdFailedToLoad: (ad, err) {
        // Called when an ad request failed.
        debugPrint("Ad failed to load with error: $err");
        ad.dispose();
      },
    ),
  ).load();
}

استبدِل _adUnitId برقم تعريف الوحدة الإعلانية الخاص بك.

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

onAdOpened: (Ad ad) {
  // Called when an ad opens an overlay that covers the screen.
  debugPrint("Ad was opened.");
},
onAdClosed: (Ad ad) {
  // Called when an ad removes an overlay that covers the screen.
  debugPrint("Ad was closed.");
},
onAdImpression: (Ad ad) {
  // Called when an impression occurs on the ad.
  debugPrint("Ad recorded an impression.");
},
onAdClicked: (Ad ad) {
  // Called when an a click event occurs on the ad.
  debugPrint("Ad was clicked.");
},
onAdWillDismissScreen: (Ad ad) {
  // iOS only. Called before dismissing a full screen view.
  debugPrint("Ad will be dismissed.");
},

إعادة تحميل إعلان

إذا ضبطت وحدتك الإعلانية على إعادة التحميل، ليس عليك طلب إعلان آخر عندما يتعذّر تحميل الإعلان. Google Mobile Ads Flutter Plugin يأخذ في الاعتبار أي معدّل إعادة تحميل تحدّده في واجهة مستخدم AdMob. إذا لم تفعِّل إعادة التحميل، أرسِل طلبًا جديدًا. لمزيد من التفاصيل حول إعادة تحميل الوحدة الإعلانية، مثل ضبط معدّل إعادة التحميل، يُرجى الاطّلاع على مقالة ضبط خيار إعادة التحميل التلقائية لإعلانات البانر.

عرض إعلان بانر

لعرض BannerAd كأداة، عليك إنشاء مثيل لـ AdWidget باستخدام إعلان متوافق بعد استدعاء load(). يمكنك إنشاء الأداة قبل استدعاء load()، ولكن يجب استدعاء load() قبل إضافتها إلى شجرة الأدوات.

ترث AdWidget من فئة Widget في Flutter ويمكن استخدامها مثل أي أداة أخرى. على أجهزة iOS، تأكَّد من وضع الأداة في أداة بعرض وارتفاع محدّدين. وإلا قد لا يظهر إعلانك. يمكن وضع BannerAd في حاوية بحجم يطابق الإعلان:

if (_bannerAd != null)
  Align(
    alignment: Alignment.bottomCenter,
    child: SafeArea(
      child: SizedBox(
        width: _bannerAd!.size.width.toDouble(),
        height: _bannerAd!.size.height.toDouble(),
        child: AdWidget(ad: _bannerAd!),
      ),
    ),
  ),

يجب إيقاف الإعلان عندما لا يعود الوصول إليه ضروريًا. أفضل ممارسة لتحديد وقت استدعاء dispose() هي إما بعد إزالة AdWidget من شجرة الأدوات أو في معاودة الاتصال BannerAdListener.onAdFailedToLoad().

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

قيود التمرير على Android 9 والإصدارات الأقدم

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

مثال كامل على GitHub

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

التعرّف على أنواع إعلانات البانر الأخرى

تعرَّف على الأنواع الأخرى من إعلانات البانر المحدّدة في هذا القسم لتطبيقك على Flutter.

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

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

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

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