Annunci interstitial

Gli interstitial sono annunci a schermo intero che coprono l'interfaccia dell'app host. In genere, vengono visualizzati in punti di transizione naturali nel flusso di un'app, ad esempio durante la pausa tra i livelli di un gioco. Quando un'app mostra un annuncio interstitial, l'utente può scegliere se toccare l'annuncio e proseguire verso la sua destinazione oppure se chiuderlo e tornare all'app. Case study.

Questa guida spiega come integrare gli annunci interstitial in un'app Unity.

Prerequisiti

Esegui sempre test con annunci di prova

Il codice di esempio riportato di seguito contiene un ID unità pubblicitaria che puoi utilizzare per richiedere annunci di prova. È stato appositamente configurato per restituire annunci di prova anziché annunci di produzione per ogni richiesta, il che ne rende sicuro l'uso.

Tuttavia, dopo aver registrato un'app nell'AdMob interfaccia web e creato i tuoi ID unità pubblicitaria da utilizzare nell'app, configura esplicitamente il dispositivo come dispositivo di prova durante lo sviluppo.

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Inizializzare l'SDK Google Mobile Ads

Prima di caricare gli annunci, fai in modo che la tua app inizializza l'SDK Mobile Ads chiamando MobileAds.Initialize(). Questa operazione deve essere eseguita una sola volta, idealmente al momento del lancio dell'app.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

Se utilizzi la mediazione, attendi che venga eseguito il callback prima di caricare gli annunci per assicurarti che tutti gli adattatori di mediazione vengano inizializzati.

Implementazione

I passaggi principali per integrare gli annunci interstitial sono:

  1. Carica l'annuncio interstitial
  2. Mostra l'annuncio interstitial
  3. Ascoltare gli eventi annuncio interstitial
  4. Pulire l'annuncio interstitial
  5. Precarica l'annuncio interstitial successivo

Carica l'annuncio interstitial

Il caricamento di un annuncio interstitial viene eseguito utilizzando il metodo Load() statico nella classe InterstitialAd. Il metodo di caricamento richiede un ID unità pubblicitaria, un oggetto AdRequest e un gestore di completamento che viene chiamato quando il caricamento dell'annuncio ha esito positivo o negativo. L'oggetto InterstitialAd caricato viene fornito come parametro nel gestore di completamento. L'esempio seguente mostra come caricare un elemento InterstitialAd.


  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
  private string _adUnitId = "unused";
#endif

  private InterstitialAd _interstitialAd;

  /// <summary>
  /// Loads the interstitial ad.
  /// </summary>
  public void LoadInterstitialAd()
  {
      // Clean up the old ad before loading a new one.
      if (_interstitialAd != null)
      {
            _interstitialAd.Destroy();
            _interstitialAd = null;
      }

      Debug.Log("Loading the interstitial ad.");

      // create our request used to load the ad.
      var adRequest = new AdRequest();

      // send the request to load the ad.
      InterstitialAd.Load(_adUnitId, adRequest,
          (InterstitialAd ad, LoadAdError error) =>
          {
              // if error is not null, the load request failed.
              if (error != null || ad == null)
              {
                  Debug.LogError("interstitial ad failed to load an ad " +
                                 "with error : " + error);
                  return;
              }

              Debug.Log("Interstitial ad loaded with response : "
                        + ad.GetResponseInfo());

              _interstitialAd = ad;
          });
  }

Mostra l'annuncio interstitial

Per mostrare un annuncio interstitial caricato, chiama il metodo Show() nell'istanza InterstitialAd. Gli annunci possono essere mostrati una sola volta per caricamento. Utilizza il metodo CanShowAd() per verificare che l'annuncio sia pronto per essere mostrato.

/// <summary>
/// Shows the interstitial ad.
/// </summary>
public void ShowInterstitialAd()
{
    if (_interstitialAd != null && _interstitialAd.CanShowAd())
    {
        Debug.Log("Showing interstitial ad.");
        _interstitialAd.Show();
    }
    else
    {
        Debug.LogError("Interstitial ad is not ready yet.");
    }
}

Ascoltare gli eventi annuncio interstitial

Per personalizzare ulteriormente il comportamento dell'annuncio, puoi collegarti a una serie di eventi nel ciclo di vita dell'annuncio. Ascolta questi eventi registrando un delegato come mostrato sotto.

private void RegisterEventHandlers(InterstitialAd interstitialAd)
{
    // Raised when the ad is estimated to have earned money.
    interstitialAd.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Interstitial ad paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    interstitialAd.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Interstitial ad recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    interstitialAd.OnAdClicked += () =>
    {
        Debug.Log("Interstitial ad was clicked.");
    };
    // Raised when an ad opened full screen content.
    interstitialAd.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Interstitial ad full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    interstitialAd.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Interstitial ad full screen content closed.");
    };
    // Raised when the ad failed to open full screen content.
    interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);
    };
}

Pulire l'annuncio interstitial

Quando hai finito con un InterstitialAd, assicurati di chiamare il metodo Destroy() prima di eliminarlo:

_interstitialAd.Destroy();

Questo indica al plug-in che l'oggetto non è più utilizzato e che la memoria che occupa può essere recuperata. La mancata chiamata di questo metodo comporta perdite di memoria.

Precarica l'annuncio interstitial successivo

Gli annunci interstitial sono oggetti monouso. Una volta mostrato un annuncio interstitial, l'oggetto non può più essere utilizzato. Per richiedere un altro annuncio interstitial, crea un nuovo oggetto InterstitialAd.

Per preparare un annuncio interstitial alla prossima opportunità di impressione, precarica l'annuncio interstitial quando viene generato l'evento annuncio OnAdFullScreenContentClosed o OnAdFullScreenContentFailed.

private void RegisterReloadHandler(InterstitialAd interstitialAd)
{
    // Raised when the ad closed full screen content.
    interstitialAd.OnAdFullScreenContentClosed += ()
    {
        Debug.Log("Interstitial Ad full screen content closed.");

        // Reload the ad so that we can show another as soon as possible.
        LoadInterstitialAd();
    };
    // Raised when the ad failed to open full screen content.
    interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
    {
        Debug.LogError("Interstitial ad failed to open full screen content " +
                       "with error : " + error);

        // Reload the ad so that we can show another as soon as possible.
        LoadInterstitialAd();
    };
}

best practice

Determina se gli annunci interstitial sono il tipo giusto di annuncio per la tua app.
Gli annunci interstitial funzionano meglio nelle app con punti di transizione naturali. La conclusione di un'attività all'interno di un'app, come la condivisione di un'immagine o il completamento di un livello di gioco, crea un punto di questo tipo. Assicurati di considerare in quali punti del flusso dell'app mostrare al meglio gli annunci interstitial e come potrebbe rispondere l'utente.
Metti in pausa l'azione quando viene mostrato un annuncio interstitial.
Esistono vari tipi di annunci interstitial, ad esempio di testo, illustrati o video. È importante assicurarsi che quando l'app visualizza un annuncio interstitial, sospende anche l'utilizzo di alcune risorse per consentire all'annuncio di usufruirne. Ad esempio, quando effettui la chiamata per visualizzare un annuncio interstitial, assicurati di mettere in pausa l'output audio prodotto dalla tua app. Puoi riprendere la riproduzione dei suoni nell'evento OnAdFullScreenContentClosed(), che può essere richiamato quando l'utente ha finito di interagire con l'annuncio. Inoltre, ti consigliamo di interrompere temporaneamente qualsiasi attività di calcolo impegnativa, ad esempio un ciclo di gioco, durante la visualizzazione dell'annuncio. In questo modo l'utente non riscontra grafica lenta o non reattiva o video con interruzioni.
Non inondare l'utente di annunci.
Anche se l'aumento della frequenza degli annunci interstitial nella tua app può sembrare un ottimo modo per aumentare le entrate, può anche ridurre l'esperienza utente e le percentuali di clic. Assicurati che gli utenti non vengano interrotti così spesso da non essere più in grado di utilizzare la tua app.

Risorse aggiuntive

* Esempio di caso d'uso