מודעות מתגמלות הן מודעות שמשתמשים יכולים לקיים איתן אינטראקציה תמורת אינטראקציה ומקבלים פרסים מתוך האפליקציה. במדריך הזה מוסבר איך לשלב מודעות מתגמלות מ-Ad Manager באפליקציה של Flutter.
ביצוע בדיקות באמצעות מודעות בדיקה תמיד
כשאתם מפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות פעילות בסביבת הייצור. אם לא תעשו זאת, ייתכן שהחשבון שלכם יושעה.
הדרך הקלה ביותר לטעון מודעות בדיקה היא להשתמש במזהה הייעודי של יחידת מודעות לבדיקה עבור מודעות מתגמלות:
/21775744923/example/rewarded
יחידות המודעות לבדיקה מוגדרות כך שיחזירו מודעות בדיקה לכל בקשה, וכן ניתן להשתמש בהם באפליקציות משלכם במהלך התכנות, הבדיקה וניפוי הבאגים. רק צריך להחליף אותם במזהים של יחידות המודעות לפני שמפרסמים את אפליקציה.
טעינת מודעה
כך נטען מודעה מתגמלת בדוגמה הבאה:
class RewardedExampleState extends State<RewardedExample> { RewardedAd? _rewardedAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/21775744923/example/rewarded'; /// Loads a rewarded ad. void loadAd() { RewardedAd.loadWithAdManagerAdRequest( adUnitId: adUnitId, adManagerAdRequest: const AdManagerAdRequest(), adLoadCallback: RewardedAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedAd failed to load: $error'); }, )); } }
אירועים של מודעות מתגמלות
בעזרת FullScreenContentCallback
, אפשר להאזין למחזור החיים
אירועים, כמו המועד שבו המודעה מוצגת או נסגרת. סיום
RewardedAd.fullScreenContentCallback
לפני הצגת המודעה לקבלת
התראות לגבי האירועים האלה. בדוגמה הזו אנחנו מיישמים כל method ורושמת ביומן
הודעה למסוף:
class RewardedExampleState extends State<RewardedExample> { RewardedAd? _rewardedAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = '/21775744923/example/rewarded'; /// Loads a rewarded ad. void loadAd() { RewardedAd.loadWithAdManagerAdRequest( adUnitId: adUnitId, adManagerAdRequest: const AdManagerAdRequest(), adLoadCallback: RewardedAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { ad.fullScreenContentCallback = FullScreenContentCallback( // Called when the ad showed the full screen content. onAdShowedFullScreenContent: (ad) {}, // Called when an impression occurs on the ad. onAdImpression: (ad) {}, // Called when the ad failed to show full screen content. onAdFailedToShowFullScreenContent: (ad, err) { // Dispose the ad here to free resources. ad.dispose(); }, // Called when the ad dismissed full screen content. onAdDismissedFullScreenContent: (ad) { // Dispose the ad here to free resources. ad.dispose(); }, // Called when a click is recorded for an ad. onAdClicked: (ad) {}); debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedAd failed to load: $error'); }, )); } }
מודעה ברשת המדיה
השדה RewardedAd
מוצג כשכבת-על מעל לכל תוכן האפליקציה, והוא
ממוקם באופן סטטי, ולכן לא ניתן להוסיף אותו לעץ הווידג'ט של Flutter. אפשר
לבחור מתי להציג את המודעה על ידי שליחת קריאה למספר show()
.
הפונקציה RewardedAd.show()
מקבלת OnUserEarnedRewardCallback
, שמופעל כשהמשתמש מרוויח פרס. חשוב ליישם את זה ולתגמל את המשתמש
כשצופים במודעה.
_rewardedAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) { // Reward the user for watching an ad. });
לאחר הקריאה אל show()
, אי אפשר להסיר Ad
שמוצג באופן הזה
באופן פרוגרמטי ומחייב קלט של משתמשים. ניתן להציג רק RewardedAd
פעם אחת. הקריאות הבאות להצגה יפעילו את onAdFailedToShowFullScreenContent
.
מודעה חייבת להשליך כאשר אין יותר צורך בגישה אליה. השיטה המומלצת
מתי להתקשר אל dispose()
בטווח
FullScreenContentCallback.onAdDismissedFullScreenContent
והקבוצה
FullScreenContentCallback.onAdFailedToShowFullScreenContent
התקשרות חזרה.
זהו! האפליקציה מוכנה עכשיו להצגת מודעות מתגמלות.