טעינה מראש של מודעות (בטא)

טעינת מודעות מראש היא תכונה לטעינת מודעות שמנוהלת על ידי Google ב-Google Mobile Ads Flutter Plugin. התכונה הזו מנהלת את הטעינה והשמירה במטמון של המודעות בשבילכם. כדי לטעון מודעות מראש, צריך לשנות את האופן שבו מנהלים את טעינת המודעות. כדי לבצע אופטימיזציה של הביצועים באמצעות טעינת מודעות מראש, צריך להשבית את השמירה המותאמת אישית במטמון ולהעביר את האחריות הזו אל Google Mobile Ads Flutter Plugin.

לטעינת מודעות מראש יש כמה יתרונות על פני טעינת מודעות ידנית:

  • ניהול קובצי עזר: המודעות שנטענו נשמרות, כך שאתם לא צריכים לנהל את קובצי העזר עד שאתם מוכנים להציג את המודעות.
  • טעינה מחדש אוטומטית: טעינה אוטומטית של מודעה חדשה כששולפים מודעה מהמטמון.
  • ניסיונות חוזרים מנוהלים: ניסיונות חוזרים אוטומטיים של בקשות שנכשלו באמצעות השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
  • טיפול בתפוגה: המערכת מרעננת את המודעות באופן אוטומטי לפני שהתוקף שלהן פג (בדרך כלל אחרי שעה).
  • אופטימיזציה של המטמון: אם אתם משתמשים במטמון בגודל שגדול מ-1, Google Mobile Ads Flutter Plugin מבצע אופטימיזציה של סדר המטמון כדי להציג את המודעה הכי טובה.

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

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

לפני שממשיכים במדריך הזה, צריך להגדיר את Google Mobile Ads Flutter Plugin.

התחלת הטעינה מראש של מודעות

כשהאפליקציה מופעלת, צריך להפעיל את ה-method‏ start פעם אחת. אחרי שמפעילים את השיטה start, Google Mobile Ads Flutter Plugin טוען מראש מודעות באופן אוטומטי ומנסה שוב לשלוח בקשות שנכשלו להגדרות שנטענו מראש.

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

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

אחזור והצגה של המודעה שנטענה מראש

כשמשתמשים בטעינת מודעות מראש, Google Mobile Ads Flutter Plugin שומר מודעות במטמון. כדי להציג מודעה, מפעילים את ה-method‏ pollAd. ‫Google Mobile Ads Flutter Plugin מאחזר מודעה זמינה וטוען מראש באופן אוטומטי את המודעה הבאה ברקע.

אל תפעילו את ה-method‏ pollAd עד שתהיו מוכנים להציג מודעה. שמירת המודעות במטמון מאפשרת ל-Google Mobile Ads Flutter Plugin לרענן באופן אוטומטי מודעות שפג תוקפן ולבצע אופטימיזציה של המטמון.

בדוגמה הבאה מוצג אחזור והצגה של מודעה שנטענה מראש:

void _pollAndShowAd() async {
  final InterstitialAd? ad = await InterstitialAdPreloader.pollAd(_adUnitId);
  if (ad != null) {
    _interstitialAd = ad;
    ad.fullScreenContentCallback = FullScreenContentCallback(
      onAdImpression: (ad) {
        // Called when an impression occurs on the ad.
        debugPrint('Ad recorded an impression.');
      },
    );
    ad.onPaidEvent = (ad, valueMicros, precision, currencyCode) {
      // Called when an ad is estimated to have earned money.
      debugPrint('Ad paid: $valueMicros $currencyCode.');
    };
    // Show the ad.
    await ad.show();
  }
}

איך בודקים אם יש מודעות זמינות לטעינה מראש

כדי לבדוק אם יש מודעות זמינות, בוחרים באחת מהאפשרויות הבאות:

בדיקת הזמינות של מודעות שנטענו מראש

בדוגמה הבאה נבדקת הזמינות של המודעה:

void _checkAdAvailability() async {
  final bool isAvailable = await InterstitialAdPreloader.isAdAvailable(
    _adUnitId,
  );
  debugPrint('Is ad available: $isAvailable');
}

האזנה לזמינות של מודעות שנטענו מראש

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

אירועי טעינה מראש מיועדים למטרות ניתוח נתונים. בתוך פונקציות ה-callback של אירוע הטעינה מראש:

  • אין צורך להתקשר אל start.
  • אל תפעילו את pollAd אלא אם המודעה תוצג מיד.

בדוגמה הבאה מתבצע רישום לאירועי מודעות:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: PreloadCallback(
    onAdPreloaded: (preloadId, responseInfo) {
      debugPrint('Ad preloaded for ID: $preloadId');
    },
    onAdFailedToPreload: (preloadId, error) {
      debugPrint('Ad failed to preload for ID: $preloadId. Error: $error');
    },
    onAdsExhausted: (preloadId) {
      debugPrint('All preloaded ads exhausted for ID: $preloadId');
    },
  ),
);

הפסקת הטעינה מראש של מודעות

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

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

הגדרת גודל המאגר הזמני

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

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

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

‫Google Mobile Ads Flutter Plugin אוכפת מגבלה על המספר הכולל של מודעות שנטענות מראש בכל האפליקציה, בכל יחידות המודעות ומזהי הטעינה מראש:

  • מגבלת ברירת המחדל: ב-Google Mobile Ads Flutter Plugin אפשר לשמור בזיכרון עד 6 מודעות שנטענו מראש. המגבלה הזו משותפת לכל הפורמטים ולכל המזהים של הטעינה מראש.
  • מומלץ להגדיר שטח אחסון זמני של שני מזהים לכל מזהה טעינה מראש.