ההטבה הופעלה

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

ביצוע בדיקות באופן קבוע באמצעות מודעות בדיקה

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

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

  • /6499/example/rewarded

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

טעינת מודעה

הדוגמה הבאה טוענת מודעה מתגמלת:

class RewardedExampleState extends State<RewardedExample> {
  RewardedAd? _rewardedAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/6499/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 לפני הצגת המודעה. בדוגמה הזו מוטמעת כל שיטה, ומתועדת הודעה במסוף:

class RewardedExampleState extends State<RewardedExample> {
  RewardedAd? _rewardedAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/6499/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() היא באמצעות השיחות החוזרות (callback) מסוג FullScreenContentCallback.onAdDismissedFullScreenContent ו-FullScreenContentCallback.onAdFailedToShowFullScreenContent.

זהו! האפליקציה שלך מוכנה להצגה של מודעות מתגמלות.