تشغل إعلانات البانر موضعًا داخل تصميم التطبيق، سواء في الجزء العلوي أو السفلي من التطبيق شاشة الجهاز. يبقى على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة زمنية محددة.
يوضِّح هذا الدليل كيفية دمج إعلانات البانر من "مدير الإعلانات" في تطبيق Flutter بالإضافة إلى مقتطفات التعليمات البرمجية والتعليمات، تتضمن أيضًا معلومات حول تغيير حجم إعلانات البانر بشكل صحيح.
الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام إعلانات تجريبية بدلاً من إعلانات بث مباشر وقد يؤدي عدم الالتزام بذلك إلى تعليق حسابك.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام الرقم التعريفي المخصص للوحدة الإعلانية الاختبارية إعلانات البانر:
/21775744923/example/adaptive-banner
يتم ضبط الوحدات الإعلانية الاختبارية لعرض إعلانات اختبارية لكل طلب يمكنك استخدامها في تطبيقاتك الخاصة أثناء الترميز والاختبار وتصحيح الأخطاء. ما عليك سوى التأكد من استبدالها بأرقام تعريف الوحدات الإعلانية لديك قبل نشر التطبيق.
تحميل إعلان
ينشئ المثال التالي مثيلاً لإعلان بانر:
class BannerExampleState extends State<BannerExample> { AdManagerBannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/21775744923/example/adaptive-banner'; /// Loads a banner ad. void loadAd() { _bannerAd = AdManagerBannerAd( adUnitId: adUnitId, request: const AdManagerAdRequest(), size: AdSize.banner, listener: AdManagerBannerAdListener( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); setState(() { _isLoaded = true; }); }, // Called when an ad request failed. onAdFailedToLoad: (ad, err) { debugPrint('AdManagerBannerAd failed to load: $error'); // Dispose the ad here to free resources. ad.dispose(); }, ), )..load(); } }
أحجام البانر
يسرد الجدول التالي الأحجام العادية لإعلانات البانر.
الحجم بوحدات بكسل مستقلة الكثافة (عرض × ارتفاع) | الوصف | حجم الإعلان ثابت |
---|---|---|
320×50 | بانر عادي | banner
|
100x320 | بانر كبير | largeBanner
|
320×250 | مستطيل متوسط | mediumRectangle
|
468×60 | بانر بالحجم الكامل | fullBanner
|
728×90 | قائمة الصدارة | leaderboard
|
العرض المقدّم × الارتفاع التكيُّفي | بانر تكيُّفي | لا ينطبق |
لتحديد حجم بانر مخصص، يمكنك ضبط AdSize
المفضّل:
final AdSize adSize = AdSize(300, 50);
أحداث إعلانات البانر
من خلال استخدام "AdManagerBannerAdListener
"، يمكنك الاطّلاع على أحداث مراحل النشاط، مثل
عند تحميل إعلان ينفّذ هذا المثال كل طريقة ويسجّل رسالة.
إلى وحدة التحكم:
class BannerExampleState extends State<BannerExample> { AdManagerBannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/21775744923/example/adaptive-banner'; /// Loads a banner ad. void loadAd() { _bannerAd = AdManagerBannerAd( adUnitId: adUnitId, request: const AdManagerAdRequest(), size: AdSize.banner, listener: AdManagerBannerAdListener( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); setState(() { _isLoaded = true; }); }, // Called when an ad request failed. onAdFailedToLoad: (ad, err) { debugPrint('AdManagerBannerAd failed to load: $error'); // Dispose the ad here to free resources. ad.dispose(); }, // Called when an ad opens an overlay that covers the screen. onAdOpened: (Ad ad) {}, // Called when an ad removes an overlay that covers the screen. onAdClosed: (Ad ad) {}, // Called when an impression occurs on the ad. onAdImpression: (Ad ad) {}, ), )..load(); } }
عرض إعلان بانر
لعرض AdManagerBannerAd
كأداة، يجب إنشاء مثيل لـ AdWidget
بإعلان متوافق بعد الاتصال بـ load()
. يمكنك إنشاء الأداة قبل
جارٍ استدعاء load()
، ولكن يجب طلب load()
قبل إضافته إلى التطبيق المصغَّر
شَجَرَة
تكتسب AdWidget
من فئة التطبيق المصغَّرة في Flutter ويمكن استخدامها مثل أي فئة أخرى
التطبيق المصغّر. على نظام التشغيل iOS، تأكد من وضع الأداة في تطبيق مصغّر
العرض والارتفاع. وإلا فقد لا يتم عرض إعلانك. AdManagerBannerAd
يمكن وضعها في حاوية بحجم يتطابق مع الإعلان:
... 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
من
شجرة التطبيقات المصغّرة أو في AdManagerBannerAdListener.onAdFailedToLoad()
معاودة الاتصال.
هذا كل شيء! تطبيقك جاهز الآن لعرض إعلانات البانر.
قيود الانتقال على Android 9 والإصدارات الأقدم
ندرك أنّ بعض الأجهزة القديمة أو الأقل فعالية التي تعمل بنظام التشغيل Android 9 أو سابقًا قد يكون أداؤها دون المستوى عند عرض إعلانات بانر مضمّنة ضمن طرق عرض التمرير. نقترح عليك فقط باستخدام هذه الأنواع من إعلانات البانر على نظام التشغيل Android 10 أو الإصدارات الأحدث. إعلانات البانر ذات الموضع الثابت، مثل لأنّ إعلانات البانر الثابتة لا تتأثر ويمكن استخدامها مع الأداء الأمثل لجميع مستويات واجهة برمجة تطبيقات Android.