تشغل إعلانات البانر موضعًا داخل تصميم التطبيق، سواء في الجزء العلوي أو السفلي من التطبيق شاشة الجهاز. وتظل معروضة على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة زمنية معيّنة.
يوضِّح هذا الدليل كيفية دمج إعلانات البانر من "مدير الإعلانات" في تطبيق 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
|
320x250 | مستطيل متوسط | 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()
الاستدعاء.
هذا كل شيء! تطبيقك جاهز الآن لعرض إعلانات البانر.
قيود الانتقال للأعلى أو للأسفل على الإصدار 9 من Android والإصدارات الأقدم
ندرك أنّ بعض الأجهزة القديمة أو الأقلّ كفاءة التي تعمل بنظام التشغيل Android 9 أو الإصدارات الأقدم قد تحقّق أداءً دون المستوى المطلوب عند عرض إعلانات البانر المضمّنة ضمن طرق العرض التي تتيح الانتقال للأعلى أو للأسفل. نقترح عليك فقط باستخدام هذه الأنواع من إعلانات البانر على نظام التشغيل Android 10 أو الإصدارات الأحدث. إعلانات البانر ذات الموضع الثابت، مثل لأنّ إعلانات البانر الثابتة لا تتأثر ويمكن استخدامها مع الأداء الأمثل جميع مستويات واجهة برمجة تطبيقات Android.