Wczytywanie reklamy w tle (beta)

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

Wstępne ładowanie reklam ma następujące zalety 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(-a) do ich wyświetlenia.
  • Automatyczne ponowne wczytywanie: automatycznie wczytuje nową reklamę, gdy wyciągniesz ją z pamięci podręcznej.
  • Zarządzane ponowne próby: automatycznie ponawia nieudane żądania, stosując wzrastający czas do ponowienia.
  • Obsługa wygasania: automatycznie odświeża reklamy, zanim wygasną (zwykle po godzinie).
  • Optymalizacja pamięci podręcznej: jeśli używasz pamięci podręcznej o rozmiarze większym 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ć reklamy z wstępnym wczytywaniem, sprawdzić ich dostępność i je wyświetlać.

Wymagania wstępne

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

Rozpocznij wstępne wczytywanie reklam

Po uruchomieniu aplikacji wywołaj metodę start raz. Po wywołaniu metody start Google Mobile Ads Flutter Plugin automatycznie wstępnie wczytuje reklamy i ponawia nieudane żądania dotyczące wstępnie wczytanych konfiguracji.

Poniższy przykład rozpoczyna 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

Podczas korzystania ze 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.

Unikaj wywoływania metody pollAd, dopóki nie będziesz gotowy(-a) 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 optymalizację pamięci podręcznej.

Poniższy przykład pobiera i wyświetla 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 reklam do wstępnego wczytania

Aby sprawdzić dostępność reklam, wybierz jedną z tych opcji:

Sprawdzanie dostępności wstępnie wczytanych reklam

Ten przykład sprawdza dostępność reklamy:

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

Nasłuchiwanie dostępności wstępnie wczytanych reklam

Zarejestruj się, aby otrzymywać powiadomienia o zdarzeniach wstępnego ładowania, gdy reklamy zostaną wstępnie załadowane, nie uda się ich wstępnie załadować lub pamięć podręczna reklam zostanie wyczerpana.

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

  • Nie dzwoń pod numer start.
  • Unikaj wywoływania metody pollAd, chyba że reklama ma zostać wyświetlona natychmiast.

Poniższy przykład pokazuje, jak zarejestrować się na zdarzenia reklamowe:

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 ponownie wyświetlać reklam dla identyfikatora wstępnego wczytywania w ramach sesji, możesz zatrzymać wstępne wczytywanie reklam. Aby zatrzymać wstępne wczytywanie reklam dla konkretnego identyfikatora wstępnego wczytywania, wywołaj metodę destroy z identyfikatorem wstępnego wczytywania. Aby zatrzymać wstępne wczytywanie we wszystkich modułach, 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 zachować równowagę między zużyciem pamięci a opóźnieniem wyświetlania reklam. Jeśli aplikacja wyświetla reklamy, zanim zostanie wczytana następna, 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 wstępnego buforowania

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

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