מודעות מעברון מתגמלות

בחירת פלטפורמה: Android iOS Unity Flutter

מודעת מעברון מתגמלת היא סוג של פורמט מודעה מתגמלת שמאפשר לכם להציע תגמולים בתמורה לצפייה במודעות שמופיעות באופן אוטומטי בנקודות מעבר טבעיות באפליקציה. בשונה ממודעות מתגמלות, המשתמשים לא צריכים להביע הסכמה לצפייה במודעת מעברון מתגמלת. במדריך הזה מוסבר איך לשלב מודעות מעברון מתגמלות מ-AdMob באפליקציית Flutter.

דרישות מוקדמות

  • תוסף Flutter מגרסה 1.1.0 ואילך.
  • משלימים את השלבים בקטע כך מתחילים. הייבוא של הפלאגין Google Mobile Ads Flutter לאפליקציית Flutter צריך להתבצע כבר בשלב הזה.

תמיד כדאי לבצע בדיקות באמצעות מודעות בדיקה

כשמפתחים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות שמוצגות למשתמשים. אם לא תעשו את זה, אנחנו עשויים להשעות את החשבון שלכם.

הדרך הכי קלה לטעון מודעות בדיקה היא להשתמש במזהה יחידת המודעות הייעודי לבדיקה של מודעות מעברון מתגמלות:

Android

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

יחידות המודעות לבדיקה מוגדרות כך שיחזירו מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בהן באפליקציות שלכם בזמן כתיבת קוד, בדיקה וניפוי באגים. רק חשוב להקפיד להחליף אותם במזהים של יחידות המודעות שלכם לפני שמפרסמים את האפליקציה.

טעינת מודעה

בדוגמה הבאה מוצגת טעינה של מודעת מעברון מתגמלת:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (RewardedInterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

מחליפים את _adUnitId במזהה של יחידת המודעות.

אירועים של מודעות מעברון מתגמלות

באמצעות FullScreenContentCallback, אפשר להאזין לאירועים במחזור החיים, כמו מתי המודעה מוצגת או נסגרת. כדי לקבל התראות על האירועים האלה, צריך להגדיר את RewardedInterstitialAd.fullScreenContentCallback לפני הצגת המודעה. בדוגמה הזו מיושמת כל שיטה ומוצגת הודעה במסוף:

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

מודעה ברשת המדיה

RewardedInterstitialAd מוצג ככיסוי על גבי כל תוכן האפליקציה, והוא ממוקם באופן סטטי. לכן, אי אפשר להוסיף אותו לעץ הווידג'טים של Flutter. אתם יכולים לבחור מתי להציג את המודעה באמצעות הקריאה show(). ‫RewardedInterstitialAd.show() מקבלת OnUserEarnedRewardCallback, שמופעלת כשהמשתמש מקבל תגמול. חשוב להטמיע את התכונה הזו ולתת למשתמש תגמול על צפייה במודעה.

_rewardedInterstitialAd?.show(
  onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
    debugPrint('Reward amount: ${rewardItem.amount}');
  },
);

אחרי שמפעילים את show(), אי אפשר להסיר את Ad שמוצג באופן הזה באופן אוטומטי, ונדרש קלט מהמשתמש. אפשר להציג RewardedInterstitialAd רק פעם אחת. הפעלות חוזרות של הפונקציה show יפעילו את onAdFailedToShowFullScreenContent.

צריך להשמיד מודעה כשאין יותר צורך בגישה אליה. השיטה המומלצת לשימוש ב-dispose() היא באמצעות הפונקציות FullScreenContentCallback.onAdDismissedFullScreenContent ו-FullScreenContentCallback.onAdFailedToShowFullScreenContent של החזרת ערכים.

[אופציונלי] אימות של קריאות חוזרות (callback) של אימות בצד השרת (SSV)

באפליקציות שנדרשים בהן נתונים נוספים בקריאות חוזרות (callback) של אימות בצד השרת, צריך להשתמש בתכונה 'נתונים מותאמים אישית' של מודעות מתגמלות. כל ערך מחרוזת שמוגדר באובייקט של מודעה מתגמלת מועבר לפרמטר השאילתה custom_data של הקריאה החוזרת לאימות מצד השרת. אם לא מוגדר ערך של נתונים מותאמים אישית, הערך של פרמטר השאילתה custom_data לא יופיע בקריאה החוזרת של SSV.

בדוגמה הבאה של קוד אפשר לראות איך מגדירים את האפשרויות של SSV אחרי שמודעת המעברון עם הגמול נטענת:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
              customData: 'SAMPLE_CUSTOM_DATA_STRING');
      ad.setServerSideOptions(_options);
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

מחליפים את SAMPLE_CUSTOM_DATA_STRING בנתונים המותאמים אישית.

דוגמה מלאה ב-GitHub

מודעות מעברון מתגמלות