מודעת מעברון מתגמלת היא פורמט מודעה שמאפשר לכם להציע תגמולים בתמורה לצפייה במודעות שמופיעות באופן אוטומטי בנקודות מעבר טבעיות באפליקציה. בשונה ממודעות מתגמלות רגילות, המשתמשים לא צריכים להביע הסכמה לצפייה במודעת מעברון מתגמלת. במדריך הזה מוסבר איך לשלב מודעות מעברון מתגמלות מ-AdMob באפליקציה ב-Flutter.
דרישות מוקדמות
- הפלאגין של Flutter מגרסה 1.1.0 ואילך.
- משלימים את תחילת העבודה. הפלאגין של Google Mobile Ads ל-Flutter כבר אמור להיות מיובא לאפליקציה שלכם ב-Flutter.
תמיד כדאי לבדוק באמצעות מודעות בדיקה
כשאתם מפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות פעילות בסביבת הייצור. אם לא תעשו זאת, החשבון שלכם עלול להיחסם.
הדרך הקלה ביותר לטעון מודעות בדיקה היא להשתמש במזהה הייעודי של יחידת המודעות לבדיקה של מודעות מעברון מתגמלות:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
יחידות המודעות לבדיקה מוגדרות להחזיר מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בהן באפליקציות שלכם בזמן הכתיבה, הבדיקה ותיקון הבאגים. רק חשוב להחליף אותם במזהי יחידות המודעות שלכם לפני פרסום האפליקציה.
טעינת מודעה
בדוגמה הבאה נטענת מודעת מעברון מתגמלת:
class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> { RewardedInterstitialAd? _rewardeInterstitialdAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), adLoadCallback: RewardedInterstitialAdLoadCallback( // Called when an ad is successfully received. onAdLoaded: (ad) { debugPrint('$ad loaded.'); // Keep a reference to the ad so you can show it later. _rewardedInterstitialAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugPrint('RewardedInterstitialAd failed to load: $error'); }, )); } }
אירועים של מודעות מעברון מתגמלות
באמצעות FullScreenContentCallback
, אפשר להאזין לאירועים במחזור החיים של המודעה, למשל כשהמודעה מוצגת או נסגרת. כדי לקבל התראות על האירועים האלה, צריך להגדיר את RewardedInterstitialAd.fullScreenContentCallback
לפני הצגת המודעה. בדוגמה הזו מוטמע כל method ומופיעה הודעה ביומן במסוף:
class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> { RewardedInterstitialAd? _rewardedInterstitialAd; // TODO: replace this test ad unit with your own ad unit. final adUnitId = Platform.isAndroid ? 'ca-app-pub-3940256099942544/5354046379' : 'ca-app-pub-3940256099942544/6978759866'; /// Loads a rewarded ad. void loadAd() { RewardedInterstitialAd.load( adUnitId: adUnitId, adRequest: const AdRequest(), adLoadCallback: RewardedInterstitialAdLoadCallback( // 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. _rewardedInterstitialAd = ad; }, // Called when an ad request failed. onAdFailedToLoad: (LoadAdError error) { debugprint('RewardedInterstitialAd failed to load: $error'); }, )); } }
מודעה ברשת המדיה
RewardedInterstitialAd
מוצג כשכבת-על מעל כל תוכן האפליקציה, והוא ממוקם באופן סטטי. לכן אי אפשר להוסיף אותו לעץ הווידג'טים של Flutter.
אתם יכולים לבחור מתי להציג את המודעה על ידי שיחה למספר show()
.
RewardedInterstitialAd.show()
מקבלת OnUserEarnedRewardCallback
, שמופעל כשהמשתמש מרוויח פרס. חשוב להטמיע את התכונה הזו ולתגמל את המשתמש על צפייה במודעה.
_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) { // Reward the user for watching an ad. });
אחרי שמפעילים את show()
, אי אפשר להסיר Ad
שמוצג באופן הזה באופן פרוגרמטי, ונדרש קלט מהמשתמש. אפשר להציג RewardedInterstitialAd
רק פעם אחת. קריאות חוזרות להצגה יפעילו את onAdFailedToShowFullScreenContent
.
צריך להיפטר ממודעה כשאין יותר צורך בגישה אליה. מומלץ להפעיל את dispose()
בקריאות החוזרות (callbacks) של FullScreenContentCallback.onAdDismissedFullScreenContent
ו-FullScreenContentCallback.onAdFailedToShowFullScreenContent
.
זהו! עכשיו האפליקציה מוכנה להציג מודעות מעברון עם פרסים.