Wczytywanie reklamy w tle (beta)

Wstępne ładowanie reklam to funkcja zarządzana przez Google, która jest dostępna w Google Mobile Ads Flutter Plugin i która zarządza wczytywaniem i buforowaniem reklam w Twoim imieniu. Wstępne ładowanie reklam wymaga zmiany sposobu zarządzania wczytywaniem reklam. Aby zoptymalizować wydajność za pomocą wstępnego ładowania reklam, wyłącz niestandardowe buforowanie i przekaż tę odpowiedzialność do Google Mobile Ads Flutter Plugin.

Wstępne ładowanie reklam ma następujące korzyści w porównaniu z ręcznym wczytywaniem reklam:

  • Zarządzanie odwołaniami: przechowuje wczytane reklamy, dzięki czemu nie musisz utrzymywać odwołań, dopóki nie będziesz gotowy do ich wyświetlenia.
  • Automatyczne ponowne wczytywanie: automatycznie wczytuje nową reklamę, gdy wyciągasz ją z pamięci podręcznej.
  • Zarządzane ponowne próby: automatycznie ponawia nieudane żądania przy użyciu algorytmu wzrastający czas do ponowienia.
  • Obsługa wygasania: automatycznie odświeża reklamy przed ich wygaśnięciem (zwykle po godzinie).
  • Optymalizacja pamięci podręcznej: jeśli używasz rozmiaru pamięci podręcznej większego niż 1, Google Mobile Ads Flutter Plugin optymalizuje kolejność w pamięci podręcznej, aby wyświetlać najlepszą reklamę.

Z tego przewodnika dowiesz się, jak skonfigurować wstępne wczytywanie reklam, sprawdzić dostępność wstępnie wczytanych reklam i wyświetlić wstępnie wczytaną reklamę.

Wymagania wstępne

Zanim przejdziesz do tego samouczka, musisz skonfigurować Google Mobile Ads Flutter Plugin.

Rozpoczęcie wstępnego wczytywania reklam

Gdy aplikacja się uruchomi, wywołaj metodę start raz. Po wywołaniu metody start wtyczka Google Mobile Ads Flutter Plugin automatycznie wstępnie wczytuje reklamy i ponawia nieudane żądania dotyczące wstępnie wczytanych konfiguracji.

Poniższy przykład pokazuje, jak rozpocząć wstępne wczytywanie reklam:

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

Zastąp _adUnitId identyfikatorem jednostki reklamowej.

Pobieranie i wyświetlanie wstępnie wczytanej reklamy

Gdy używasz wstępnego ładowania reklam, Google Mobile Ads Flutter Plugin przechowuje reklamy w pamięci podręcznej. Gdy chcesz wyświetlić reklamę, wywołaj metodę pollAd. Google Mobile Ads Flutter Plugin pobiera dostępną reklamę i automatycznie wstępnie wczytuje następną reklamę w tle.

Nie wywołuj metody pollAd, dopóki nie będziesz gotowy do wyświetlenia reklamy. Przechowywanie reklam w pamięci podręcznej umożliwia Google Mobile Ads Flutter Plugin automatyczne odświeżanie wygasłych reklam i optymalizowanie pamięci podręcznej.

Poniższy przykład pokazuje, jak pobrać i wyświetlić wstępnie wczytaną reklamę:

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();
  }
}

Sprawdzanie dostępności wstępnie wczytanej reklamy

Aby sprawdzić dostępność reklamy, wykonaj jedną z tych czynności:

Sprawdzanie dostępności wstępnie wczytanej reklamy

Poniższy przykład pokazuje, jak sprawdzić dostępność reklamy:

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

Sprawdzanie dostępności wstępnie wczytanej reklamy

Zarejestruj się, aby otrzymywać powiadomienia o wstępnym wczytywaniu reklam, gdy reklamy zostaną wstępnie wczytane, nie uda się ich wstępnie wczytać lub gdy pamięć podręczna reklam zostanie wyczerpana.

Zdarzenia wstępnego wczytywania są przeznaczone do celów analitycznych. W przypadku wywołań zwrotnych zdarzeń wstępnego ładowania:

  • Nie wywołuj metody start.
  • Nie wywołuj metody pollAd, chyba że reklama będzie wyświetlana natychmiast.

Poniższy przykład pokazuje, jak zarejestrować się, aby otrzymywać powiadomienia o zdarzeniach związanych z reklamami:

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');
    },
  ),
);

Zatrzymywanie wstępnego wczytywania reklam

Jeśli nie musisz już wyświetlać reklam z identyfikatorem wstępnego wczytywania w sesji, możesz zatrzymać wstępne wczytywanie reklam. Aby zatrzymać wstępne wczytywanie reklam z określonym identyfikatorem wstępnego wczytywania, wywołaj metodę destroy z identyfikatorem wstępnego wczytywania. Aby zatrzymać wstępne wczytywanie dla wszystkich wstępnie wczytujących, wywołaj metodę destroyAll.

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

Ustawianie rozmiaru bufora

Rozmiar bufora określa liczbę wstępnie wczytanych reklam przechowywanych w pamięci. Domyślnie Google optymalizuje rozmiar bufora, aby zrównoważyć zużycie pamięci i opóźnienie wyświetlania reklam. Jeśli Twoja aplikacja wyświetla reklamy, zanim zostanie wczytana następna reklama, możesz ustawić niestandardowy rozmiar bufora, aby zwiększyć liczbę reklam przechowywanych w pamięci.

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

Limity pamięci podręcznej wstępnego wczytywania

Google Mobile Ads Flutter Plugin wymusza limit w całej aplikacji dotyczący łącznej liczby wstępnie wczytanych reklam we wszystkich jednostkach reklamowych i identyfikatorach wstępnego wczytywania:

  • Domyślny limit: Google Mobile Ads Flutter Plugin przechowuje w pamięci maksymalnie 6 wstępnie wczytanych reklam. Ten limit jest wspólny dla wszystkich formatów i identyfikatorów wstępnego wczytywania.
  • Zalecamy ustawienie rozmiaru bufora na 2 dla każdego identyfikatora wstępnego wczytywania.