تشغل "إعلانات البانر" مساحة ضمن تصميم التطبيق، إما في أعلى شاشة الجهاز أو أسفلها. تبقى هذه الإعلانات معروضة على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة زمنية معيّنة.
يساعدك هذا الدليل في البدء باستخدام "إعلانات البانر التكيُّفية الثابتة". تعمل "إعلانات البانر التكيُّفية الثابتة" على تحسين حجم الإعلان لكل جهاز باستخدام عرض إعلان تحدّده أنت.
"إعلانات البانر التكيُّفية الثابتة" هي إعلانات بنسبة عرض إلى ارتفاع ثابتة بدلاً من الإعلانات ذات الحجم الثابت. تشبه نسبة العرض إلى الارتفاع 320×50. بعد تحديد العرض الكامل المتاح، Google Mobile Ads Flutter Plugin تعرض إعلانًا بارتفاع مثالي لهذا العرض. يظل الارتفاع الأمثل للإعلان ثابتًا في مختلف طلبات الإعلانات، ويظل المحتوى المحيط بالإعلان ثابتًا عند إعادة تحميل الإعلان.
اختبار الإعلانات دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام الإعلانات الاختبارية بدلاً من الإعلانات النهائية المعروضة للمستخدمين. قد يؤدي عدم اتّباع هذه الخطوة إلى تعليق حسابك.
أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام رقم تعريف الوحدة الإعلانية الاختبارية المخصّص لإعلانات البانر:
Android
ca-app-pub-3940256099942544/9214589741
iOS
ca-app-pub-3940256099942544/2435281174
تم ضبط الوحدات الإعلانية الاختبارية لعرض إعلانات اختبارية لكل طلب، ويمكنك استخدامها في تطبيقاتك أثناء الترميز والاختبار وتحديد الأخطاء وحلّها. ما عليك سوى استبدالها بأرقام تعريف الوحدات الإعلانية الخاصة بك قبل نشر تطبيقك.
الحصول على حجم الإعلان
توفّر "إعلانات البانر التكيُّفية الكبيرة" شكلاً أكبر مصمّمًا للتنسيقات غير القابلة للتمرير. مقارنةً بـ "إعلانات البانر التكيُّفية الثابتة" العادية، تسمح هذه الإعلانات بارتفاع أقصى أكبر (ما يصل إلى% 20 من ارتفاع الشاشة، بين 50 و150 وحدة بكسل مستقلة عن الكثافة). تم تحسين هذه المساحة المتزايدة لعرض محتوى الفيديو.
لطلب إعلان بانر بالحجم الصحيح، اتّبِع الخطوات التالية:
احصل على عرض شاشة الجهاز بوحدات بكسل مستقلة عن الكثافة (dp) باستخدام
MediaQuery.of(context). إذا كنت لا تريد استخدام العرض الكامل للشاشة، يمكنك ضبط عرض مخصّص.استخدِم الطريقة الثابتة المناسبة في فئة
AdSizeللحصول على عنصرAdSize. على سبيل المثال، استخدِمAdSize.getLargeAnchoredAdaptiveBannerAdSize(int width)للحصول على حجم الإعلان للاتجاه الحالي.
// Get an AnchoredAdaptiveBannerAdSize before loading the ad.
final size = await AdSize.getLargeAnchoredAdaptiveBannerAdSize(
MediaQuery.sizeOf(context).width.truncate(),
);
تحميل إعلان
يحمّل المثال التالي إعلان بانر:
استبدِل _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.
إعلانات البانر التكيّفية المضمّنة
تتميّز "إعلانات البانر التكيُّفية المضمّنة" بارتفاع متغيّر، وهي أكبر وأطول مقارنةً بـ "إعلانات البانر التكيُّفية الثابتة". ننصح باستخدام "إعلانات البانر التكيُّفية المضمّنة" بدلاً من "إعلانات البانر التكيُّفية الثابتة" للتطبيقات التي تضع إعلانات البانر في محتوى قابل للتمرير. لمزيد من التفاصيل، اطّلِع على مقالة إعلانات البانر التكيُّفية المضمّنة.
إعلانات البانر القابلة للتصغير
"إعلانات البانر القابلة للتصغير" هي إعلانات بانر تظهر في البداية كتراكب أكبر، مع زرّ لتصغير الإعلان إلى حجم أصغر. ننصحك باستخدام هذا النوع من إعلانات البانر لتحسين أدائك بشكل أكبر. لمزيد من التفاصيل، اطّلِع على مقالة إعلانات البانر القابلة للتصغير.