מודעות באנר תופסות מקום בפריסה של האפליקציה, בחלק העליון או התחתון של במסך המכשיר. הם נשארים במסך בזמן שהמשתמשים יוצרים אינטראקציה עם האפליקציה, ויכולים לרענן אותו באופן אוטומטי אחרי פרק זמן מסוים.
במדריך הזה תלמדו איך לשלב מודעות באנר מ-AdMob אפליקציית Flutter. בנוסף לקטעי הקוד ולהוראות, המאמר כולל גם על שינוי גודל תקין של מודעות באנר.
ביצוע בדיקות באמצעות מודעות בדיקה תמיד
כשיוצרים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות בדיקה של מודעות בשידור חי. אם לא תעשו זאת, החשבון שלכם עלול להיחסם.
הדרך הקלה ביותר לטעון מודעות בדיקה היא להשתמש במזהה הייעודי של יחידת המודעות לבדיקה של מודעות באנר:
Android
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
יחידות המודעות לבדיקה מוגדרות כך שיחזירו מודעות בדיקה לכל בקשה, וכן ניתן להשתמש בהם באפליקציות משלכם במהלך התכנות, הבדיקה וניפוי הבאגים. רק צריך להחליף אותם במזהים של יחידות המודעות לפני שמפרסמים את אפליקציה.
טעינת מודעה
בדוגמה הבאה נוצרת מודעת באנר:
class BannerExampleState extends State<BannerExample> { BannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/6300978111' : 'ca-app-pub-3940256099942544/2934735716'; /// Loads a banner ad. void loadAd() { _bannerAd = BannerAd( adUnitId: adUnitId, request: const AdRequest(), size: AdSize.banner, listener: BannerAdListener( // 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('BannerAd failed to load: $error'); // Dispose the ad here to free resources. ad.dispose(); }, ), )..load(); } }
גדלים של מודעות באנר
בטבלה הבאה מפורטים הגדלים הרגילים של מודעות הבאנר.
גודל ב-dp (WxH) | תיאור | קבוע של גודל המודעה |
---|---|---|
320x50 | כרזות רגילות | banner
|
320x100 | מודעת באנר גדולה | largeBanner
|
320x250 | מלבן בינוני | mediumRectangle
|
468x60 | מודעת באנר בגודל מלא | fullBanner
|
728x90 | רשימת המובילים | leaderboard
|
רוחב שצוין x גובה דינמי | מודעת באנר מותאמת | לא רלוונטי |
כדי להגדיר גודל באנר מותאם אישית, מגדירים את AdSize
המועדף:
final AdSize adSize = AdSize(300, 50);
אירועים של מודעת באנר
באמצעות BannerAdListener
, אפשר להאזין לאירועים במחזור החיים, כמו טעינה של מודעה. בדוגמה הזו אנחנו מיישמים כל שיטה ומתעדת הודעה ביומן
למסוף:
class BannerExampleState extends State<BannerExample> { BannerAd? _bannerAd; bool _isLoaded = false; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/6300978111' : 'ca-app-pub-3940256099942544/2934735716'; /// Loads a banner ad. void loadAd() { _bannerAd = BannerAd( adUnitId: adUnitId, request: const AdRequest(), size: AdSize.banner, listener: BannerAdListener( // 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('BannerAd 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(); } }
הצגה של מודעת באנר
כדי להציג BannerAd
כווידג'ט, צריך ליצור
AdWidget
עם מודעה נתמכת אחרי חיוג אל load()
. אפשר ליצור את הווידג'ט לפני
קוראים לפונקציה load()
, אבל צריך לקרוא ל-load()
לפני שמוסיפים את המספר לווידג'ט
עץ.
AdWidget
עובר בירושה מ-Widget class של 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 ואילך. מודעות באנר במיקום קבוע, כמו מודעות באנר מעוגנות לא מושפעות, ואפשר להשתמש בהן עם ביצועים אופטימליים בכל רמות ה-API של Android.