Wstępne ładowanie reklam (beta)

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

Wstępne ładowanie reklam ma te korzyści w porównaniu z ręcznym wczytywaniem reklam:

  • Zarządzanie odwołaniami: przechowuje załadowane 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 wyjmiesz jedną z pamięci podręcznej.
  • Zarządzane ponowne próby: automatycznie ponawia próby nieudanych żądań 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 rozmiaru pamięci podręcznej większego niż 1, Google Mobile Ads Unity Plugin optymalizuje kolejność 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 dalej, musisz skonfigurowaćGoogle Mobile Ads Unity Plugin.

Rozpocznij wstępne wczytywanie reklam

Gdy aplikacja się uruchomi, wywołaj metodę Preload. Po wywołaniu metody Preload Google Mobile Ads Unity Plugin automatycznie wstępnie wczytuje reklamy i ponawia nieudane żądania wstępnie wczytanych konfiguracji.

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

W przypadku 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(-a) do wyświetlenia reklamy. Przechowywanie reklam w pamięci podręcznej umożliwia Google Mobile Ads Unity Pluginautomatyczne odświeżanie wygasłych reklam i optymalizację pamięci podręcznej.

Ten przykład pobiera i wyświetla 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 reklamy do wstępnego wczytywania

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

Sprawdzanie dostępności wstępnie wczytanych reklam

W tym przykładzie sprawdzamy dostępność reklamy:

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

Sprawdzanie dostępności wstępnie wczytanych reklam

Zarejestruj się, aby otrzymywać powiadomienia o zdarzeniach wstępnego wczytywania, gdy reklamy zostaną wstępnie wczytane, gdy wstępne wczytywanie się nie powiedzie lub gdy pamięć podręczna reklam zostanie wyczerpana.

Zdarzenia wstępnego ładowania są przeznaczone do celów analitycznych. W funkcjach zwrotnych zdarzenia wstępnego ładowania:

  • Nie dzwoń pod numer Preload.
  • Nie wywołuj funkcji DequeueAd, chyba że reklama będzie wyświetlana natychmiast.

W tym przykładzie rejestrujemy zdarzenia związane 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 ponownie wyświetlać reklam dla identyfikatora wstępnego wczytywania w sesji, możesz zatrzymać wstępne wczytywanie reklam. Aby zatrzymać wstępne wczytywanie reklam dla konkretnego identyfikatora wstępnego wczytywania, wywołaj funkcję Destroy z identyfikatorem wstępnego wczytywania. Aby zatrzymać wstępne wczytywanie w przypadku wszystkich wstępnie wczytujących, wywołaj funkcję 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 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.

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
new PreloadConfiguration
{
    AdUnitId = "AD_UNIT_ID",
    Request = new AdRequest(),
    BufferSize = 2
};

Limity wstępnego buforowania

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

  • Domyślny limit: Google Mobile Ads Unity Plugin może przechowywać 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 zachowanie rozmiaru bufora wynoszącego 2 w przypadku każdego identyfikatora wstępnego wczytywania.