Wstępne wczytywanie reklam to zarządzana przez Google funkcja wczytywania reklam w Google Mobile Ads Unity Plugin, która zarządza wczytywaniem i buforowaniem reklam w Twoim imieniu. Wstępne wczytywanie 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 wczytywanie reklam ma te zalety 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 zechcesz ich wyświetlić.
- Automatyczne ponowne wczytywanie: automatycznie wczytuje nową reklamę, gdy wyjmiesz jedną z pamięci podręcznej.
- Zarządzane ponowne próby: automatycznie ponawia próby wysłania żądań, które zakończyły się niepowodzeniem, 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 Pluginoptymalizuje 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 do samouczka, musisz wykonać te czynności:
- Zainstaluj Google Mobile Ads Unity Plugin w wersji 10.3.0 lub nowszej.
- Skonfiguruj Google Mobile Ads Unity Plugin.
Używaj wersji pakietu SDK na Androida
24.4.0i wersji pakietu SDK na iOS12.6.0.Opcjonalnie: pobierz i uruchom przykładową aplikację do wstępnego wczytywania reklam.
Rozpocznij wstępne wczytywanie reklam
Aby rozpocząć wstępne wczytywanie reklam, wywołaj funkcję Preload(). Tę metodę wywołuj tylko raz na początku działania aplikacji. 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
Podczas wstępnego wczytywania reklam Google Mobile Ads Unity Plugin przechowuje reklamy w pamięci podręcznej.
Gdy chcesz wyświetlić reklamę, wywołaj funkcję DequeueAd().
Google Mobile Ads Unity Plugin pobiera dostępną reklamę i automatycznie wstępnie wczytuje kolejną reklamę w tle.
Nie wywołuj tej metody, dopóki nie będziesz gotowy(-a) 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 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, wykonaj jedną z tych czynności:
Sprawdzanie dostępności wstępnie wczytanych reklam
Poniższy przykład sprawdza 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 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 funkcjach zwrotnych zdarzenia wstępnego wczytywania:
- 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 chcesz 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.
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. Zalecamy rozmiar bufora wynoszący maksymalnie 4.
new PreloadConfiguration
{
AdUnitId = AD_UNIT_ID,
Request = new AdRequest(),
BufferSize = 5
};