Wstępne ładowanie reklam (beta)

Wstępne ładowanie reklam to funkcja ładowania reklam zarządzana przez Google w Google Mobile Ads Unity Plugin, która odpowiada za ładowanie i buforowanie reklam. 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ść Google Mobile Ads Unity Plugin.

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

  • Zarządzanie odwołaniami: wczytane reklamy są przechowywane, dzięki czemu nie musisz utrzymywać odwołań, dopóki nie będziesz gotowy do ich wyświetlenia.
  • Automatyczne ponowne wczytywanie: gdy wyjmiesz reklamę z pamięci podręcznej, automatycznie wczytuje się nowa reklama.
  • Zarządzane ponawianie: automatycznie ponawia nieudane żądania przy użyciu algorytmu 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 Unity 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ć ich dostępność i wyświetlić wstępnie wczytaną reklamę.

Wymagania wstępne

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

Rozpoczęcie wstępnego wczytywania reklam

Gdy aplikacja się uruchomi, wywołaj metodę Preload raz. Po wywołaniu metody Preload wtyczka Google Mobile Ads Unity 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:

var preloadConfiguration = new PreloadConfiguration
{
    AdUnitId = "AD_UNIT_ID",
    Request = new AdRequest(),
};

// Start the preloading initialization process after MobileAds.Initialize().
InterstitialAdPreloader.Preload(
    // The Preload ID can be any unique string to identify this configuration.
    "AD_UNIT_ID",
    preloadConfiguration);

Pobieranie i wyświetlanie wstępnie wczytanej reklamy

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

Nie wywołuj metody DequeueAd, dopóki nie będziesz gotowy do wyświetlenia reklamy. Przechowywanie reklam w pamięci podręcznej umożliwia Google Mobile Ads Unity 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ę:

// DequeueAd returns the next available ad and loads another ad in the background.
var ad = InterstitialAdPreloader.DequeueAd("AD_UNIT_ID");

if (ad != null)
{
    // [Optional] Interact with the ad object as needed.
    ad.OnAdPaid += (AdValue value) =>
    {
        Debug.Log($"Ad paid: {value.CurrencyCode} {value.Value}");
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
    };

    // Do not hold onto preloaded ads, always show a preloaded ad immediately.
    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:

var isAdAvailable = InterstitialAdPreloader.IsAdAvailable("AD_UNIT_ID");

Sprawdzanie dostępności wstępnie wczytanej reklamy

Zarejestruj się, aby otrzymywać powiadomienia o zdarzeniach wstępnego wczytywania, 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 wywołaniach zwrotnych zdarzeń wstępnego ładowania:

  • Nie wywołuj metody Preload.
  • Nie wywołuj metody DequeueAd, 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:


void StartPreloadWithCallbacks()
{
    var preloadConfiguration = new PreloadConfiguration
    {
        AdUnitId = "AD_UNIT_ID",
        Request = new AdRequest(),
    };

    // Start the preloading initialization process after MobileAds.Initialize().
    InterstitialAdPreloader.Preload(
        // The Preload ID can be any unique string to identify this configuration.
        "AD_UNIT_ID",
        preloadConfiguration,
        onAdPreloaded,
        onAdFailedToPreload,
        onAdsExhausted);
}

void onAdPreloaded(string preloadId, ResponseInfo responseInfo)
{
    Debug.Log($"Preload ad configuration {preloadId} was preloaded.");
}

void onAdFailedToPreload(string preloadId, AdError adError)
{
    string errorMessage = $"Preload ad configuration {preloadId} failed to " +
                          $"preload with error : {adError.GetMessage()}.";
    Debug.Log(errorMessage);
}

void onAdsExhausted(string preloadId)
{
    Debug.Log($"Preload ad configuration {preloadId} was exhausted");
    // [Important] Don't call Preload() or DequeueAd() from onAdsExhausted.
}

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.

InterstitialAdPreloader.Destroy("AD_UNIT_ID");
InterstitialAdPreloader.DestroyAll();

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.

new PreloadConfiguration
{
    AdUnitId = "AD_UNIT_ID",
    Request = new AdRequest(),
    BufferSize = 3
};

Limity pamięci podręcznej wstępnego wczytywania

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

  • Domyślny limit: Google Mobile Ads Unity 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, aby rozmiar bufora wynosił 2 lub 3 na identyfikator wstępnego wczytywania.