פרסומת מרווח ביניים

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

במדריך הזה מוסבר איך לשלב מודעות מעברון באפליקציה ב-Flutter.

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

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

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

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

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

טעינת מודעה

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

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

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

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

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // 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.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

הצגת מודעת מעברון

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

_interstitiaAd.show();

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

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

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

השלבים הבאים

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

מעברון