Precaricamento degli annunci (beta)

Il precaricamento degli annunci è una funzionalità di caricamento degli annunci gestita da Google in Google Mobile Ads Flutter Plugin che gestisce il caricamento e la memorizzazione nella cache degli annunci per tuo conto. Il precaricamento degli annunci richiede una modifica del modo in cui gestisci il caricamento degli annunci. Per ottimizzare il rendimento utilizzando il precaricamento degli annunci, disattiva la memorizzazione nella cache personalizzata e delega questa responsabilità a Google Mobile Ads Flutter Plugin.

Il precaricamento degli annunci offre i seguenti vantaggi rispetto al caricamento manuale degli annunci:

  • Gestione dei riferimenti: conserva gli annunci caricati in modo che tu non debba mantenere i riferimenti finché non è tutto pronto per la visualizzazione.
  • Ricaricamento automatico:carica automaticamente un nuovo annuncio quando ne estrai uno dalla cache.
  • Tentativi di ripetizione gestiti: tenta automaticamente di ripetere le richieste non riuscite utilizzando il backoff esponenziale.
  • Gestione della scadenza:aggiorna automaticamente gli annunci prima che scadano (in genere dopo un'ora).
  • Ottimizzazione della cache:se utilizzi una dimensione della cache superiore a uno, Google Mobile Ads Flutter Plugin ottimizza l'ordine della cache per pubblicare l'annuncio migliore.

Questa guida illustra come configurare gli annunci precaricati, verificarne la disponibilità e mostrarli.

Prerequisiti

Prima di procedere con questo tutorial, devi configurare Google Mobile Ads Flutter Plugin.

Inizia a precaricare gli annunci

All'avvio dell'app, chiama il metodo start una volta. Dopo aver chiamato il metodo start, Google Mobile Ads Flutter Plugin precarica automaticamente gli annunci e riprova le richieste non andate a buon fine per le configurazioni precaricate.

L'esempio seguente avvia il precaricamento degli annunci:

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(adUnitId: _adUnitId),
  callback: const PreloadCallback(),
);

Sostituisci _adUnitId con l'ID unità pubblicitaria.

Recupera e mostra l'annuncio precaricato

Quando utilizzi il precaricamento degli annunci, Google Mobile Ads Flutter Plugin conserva gli annunci memorizzati nella cache. Quando vuoi mostrare un annuncio, chiama il metodo pollAd. Google Mobile Ads Flutter Plugin recupera un annuncio disponibile e precarica automaticamente l'annuncio successivo in background.

Evita di chiamare il metodo pollAd finché non è tutto pronto per mostrare un annuncio. La memorizzazione degli annunci nella cache consente a Google Mobile Ads Flutter Plugin di aggiornare automaticamente gli annunci scaduti ed eseguire l'ottimizzazione della cache.

L'esempio seguente recupera e mostra un annuncio precaricato:

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

Verifica la disponibilità degli annunci di precaricamento

Per verificare la disponibilità degli annunci, scegli una delle seguenti opzioni:

Verifica la disponibilità degli annunci precaricati

L'esempio seguente verifica la disponibilità degli annunci:

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

Ascolta la disponibilità degli annunci precaricati

Registrati agli eventi precaricati per ricevere notifiche quando gli annunci vengono precaricati correttamente, non vengono precaricati o la cache degli annunci è esaurita.

Gli eventi precaricati sono destinati a scopi di analisi. All'interno dei callback degli eventi precaricati:

  • Non chiamare start.
  • Evita di chiamare pollAd, a meno che l'annuncio non venga mostrato immediatamente.

L'esempio seguente registra gli eventi relativi agli annunci:

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');
    },
  ),
);

Interrompi il precaricamento degli annunci

Se non hai bisogno di mostrare nuovamente gli annunci per un ID di precaricamento nella sessione, puoi interrompere il precaricamento degli annunci. Per interrompere il precaricamento degli annunci per un ID di precaricamento specifico, chiama destroy con un ID di precaricamento. Per interrompere il precaricamento per tutti i precaricatori, chiama destroyAll.

void _stopPreloading() async {
  await InterstitialAdPreloader.destroy(_adUnitId);
}

Imposta la dimensione del buffer

La dimensione del buffer controlla il numero di annunci precaricati conservati in memoria. Per impostazione predefinita, Google ottimizza la dimensione del buffer per bilanciare il consumo di memoria e la latenza di pubblicazione degli annunci. Se la tua app mostra annunci display prima che venga caricato l'annuncio successivo, puoi impostare una dimensione del buffer personalizzata per aumentare il numero di annunci conservati in memoria.

InterstitialAdPreloader.start(
  preloadId: _adUnitId,
  preloadConfiguration: PreloadConfiguration(
    adUnitId: _adUnitId,
    bufferSize: 3,
  ),
  callback: const PreloadCallback(),
);

Limiti della cache di precaricamento

Google Mobile Ads Flutter Plugin applica un limite a livello di app al numero totale di annunci precaricati in tutte le unità pubblicitarie e gli ID di precaricamento:

  • Limite predefinito: Google Mobile Ads Flutter Plugin contiene un massimo di 6 annunci precaricati in memoria. Questo limite è condiviso tra tutti i formati e gli ID di precaricamento.
  • Ti consigliamo di mantenere una dimensione del buffer di due per ogni ID di precaricamento.