Precarga de anuncios (alfa)

Selecciona la plataforma: Android Nuevo Android iOS Unity

La precarga de anuncios es una función de carga de anuncios administrada por Google en Google Mobile Ads Unity Plugin que administra la carga y el almacenamiento en caché de anuncios en tu nombre. La precarga de anuncios requiere un cambio en la forma en que administras la carga de anuncios. Para optimizar el rendimiento con la precarga de anuncios, inhabilita el almacenamiento en caché personalizado y delega esa responsabilidad a Google Mobile Ads Unity Plugin.

La precarga de anuncios ofrece los siguientes beneficios en comparación con la carga de anuncios manual:

  • Administración de referencias: Almacena los anuncios cargados para que no tengas que mantener las referencias hasta que estés listo para mostrarlos.
  • Recarga automática: Carga automáticamente un anuncio nuevo cuando sacas uno de la caché.
  • Reintentos administrados: Vuelve a intentar automáticamente las solicitudes fallidas con la retirada exponencial.
  • Manejo de vencimiento: Actualiza automáticamente los anuncios antes de que venzan (por lo general, después de una hora).
  • Optimización de la caché: Si usas un tamaño de caché mayor que uno, Google Mobile Ads Unity Plugin optimiza el orden de la caché para publicar el mejor anuncio.

En esta guía, se explica cómo configurar los anuncios de precarga, verificar la disponibilidad de los anuncios de precarga y mostrar el anuncio precargado.

Requisitos previos

Antes de continuar con el instructivo, debes completar los siguientes elementos:

Empieza a precargar los anuncios

Para comenzar a precargar anuncios, llama a Preload(). Llama a este método solo una vez por ID de precarga. Te recomendamos que llames al método cuando comience la sesión de la app. Después de llamar a Preload(), Google Mobile Ads Unity Plugin precarga automáticamente los anuncios y vuelve a intentar las solicitudes fallidas para esos IDs de precarga.

En el siguiente ejemplo, se inicia la precarga de anuncios:

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

Obtén y muestra el anuncio precargado

Cuando se usa la precarga de anuncios, Google Mobile Ads Unity Plugin almacena los anuncios en caché. Cuando quieras mostrar un anuncio, llama a DequeueAd(). Google Mobile Ads Unity Plugin recupera el anuncio disponible y precarga automáticamente el siguiente anuncio en segundo plano.

En el siguiente ejemplo, se recupera y muestra un anuncio precargado:

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

Verifica la disponibilidad de anuncios de precarga

Para verificar la disponibilidad de anuncios, elige una de las siguientes opciones:

Obtén la disponibilidad de anuncios de precarga

En el siguiente ejemplo, se verifica la disponibilidad de anuncios:

var isAdAvailable = InterstitialAdPreloader.IsAdAvailable(AD_UNIT_ID);

Escucha la disponibilidad de anuncios de precarga

Regístrate para recibir notificaciones sobre los eventos de precarga cuando los anuncios se precarguen correctamente, no se puedan precargar o se agote la caché de anuncios.

Los eventos de precarga están destinados a fines de análisis. Dentro de las devoluciones de llamada de eventos de precarga:

  • No llames a Preload().
  • Evita llamar a DequeueAd() a menos que el anuncio se muestre de inmediato.

En el siguiente ejemplo, se registra para recibir eventos de anuncios:


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.
}

Detén la precarga de los anuncios

Si no necesitas volver a mostrar anuncios para un ID de precarga en la sesión, puedes detener la precarga de anuncios. Para detener la precarga de anuncios para un ID de precarga específico, llama a Destroy() con un ID de precarga. Para detener la precarga de todos los precargadores, llama a DestroyAll().

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

Configura el tamaño del búfer

El tamaño del búfer controla la cantidad de anuncios precargados que se almacenan en la memoria. De forma predeterminada, Google optimiza el tamaño del búfer para equilibrar el consumo de memoria y la latencia de publicación de anuncios. Si tu app muestra anuncios antes de que se cargue el siguiente anuncio, puedes establecer un tamaño de búfer personalizado para aumentar la cantidad de anuncios que se almacenan en la memoria. Te recomendamos un tamaño de búfer de dos o tres.

Límites de la caché de precarga

Google Mobile Ads Unity Plugin aplica un límite en toda la app sobre la cantidad total de anuncios precargados en todos los bloques de anuncios y los IDs de precarga:

  • Límite predeterminado: Google Mobile Ads Unity Plugin almacena un máximo de seis anuncios precargados en la memoria. Este límite se comparte en todos los formatos y los IDs de precarga.
  • Te recomendamos que mantengas un tamaño de búfer de dos o tres por ID de precarga.
new PreloadConfiguration
{
    AdUnitId = AD_UNIT_ID,
    Request = new AdRequest(),
    BufferSize = 5
};