Annunci interstitial (legacy)

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 di toccare l'annuncio e proseguire verso la sua destinazione oppure di chiuderlo e tornare all'app. Case study.

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

Prerequisiti

Creare un annuncio interstitial

Il primo passaggio per visualizzare una creatività interstitial consiste nel creare un oggetto InterstitialAd in uno script associato a un GameObject.

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

Il costruttore per InterstitialAd ha il seguente parametro:

  • adUnitId: l'ID unità pubblicitaria AdMob da cui InterstitialAd deve caricare gli annunci.

È importante notare come vengono utilizzate le diverse unità pubblicitarie, a seconda della piattaforma. Devi utilizzare un'unità pubblicitaria iOS per effettuare richieste di annunci su iOS e un'unità pubblicitaria Android per effettuare richieste su Android.

Esegui sempre test con annunci di prova

Il codice di esempio riportato sopra contiene un ID unità pubblicitaria con cui puoi richiedere annunci. È configurato appositamente per restituire annunci di prova anziché annunci di produzione per ogni richiesta, il che ne rende l'utilizzo più sicuro.

Tuttavia, dopo aver registrato un'app nell'interfaccia utente di AdMob e aver creato i tuoi ID unità pubblicitaria da utilizzare nell'app, devi configurare il dispositivo come dispositivo di test in modo esplicito durante lo sviluppo. Questo è estremamente importante. Eseguire test con annunci reali (anche se non li tocchi mai) viola le norme di AdMob e può comportare la sospensione dell'account. Consulta la pagina relativa agli annunci di prova per informazioni su come assicurarti di ricevere sempre annunci di prova durante la fase di sviluppo.

Carica un annuncio

Dopo aver creato un'istanza di InterstitialAd, il passaggio successivo consiste nel caricare un annuncio. Puoi farlo con il metodo loadAd() nella classe InterstitialAd. Prende un argomento AdRequest, che contiene informazioni di runtime (ad esempio informazioni di targeting) relative a una singola richiesta di annuncio.

Ecco un esempio che mostra come caricare un annuncio:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

Mostra l'annuncio

Gli annunci interstitial devono essere visualizzati durante le pause naturali nel flusso di un'app. Tra i livelli di un gioco è un buon esempio o dopo che l'utente ha completato un'attività. Per mostrare un annuncio interstitial, utilizza il metodo isLoaded() per verificare che il caricamento sia terminato, quindi chiama show().

L'annuncio interstitial dell'esempio di codice precedente potrebbe essere mostrato alla fine di un gioco, come mostrato di seguito.

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

Eventi annuncio

Per personalizzare ulteriormente il comportamento dell'annuncio, puoi collegarti a una serie di eventi del ciclo di vita dell'annuncio: caricamento, apertura, chiusura e così via. Ascolta questi eventi registrando un delegato per l'elemento EventHandler appropriato, come mostrato di seguito.

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

L'evento OnAdFailedToLoad contiene argomenti di eventi speciali. Passa un'istanza di HandleAdFailedToLoadEventArgs con una Message che descrive l'errore:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
Evento annuncioDescrizione
OnAdLoaded L'evento OnAdLoaded viene eseguito al termine del caricamento di un annuncio.
OnAdFailedToLoad L'evento OnAdFailedToLoad viene richiamato quando non viene caricato un annuncio. Il parametro Message descrive il tipo di errore che si è verificato.
OnAdOpening Questo metodo viene richiamato quando l'annuncio viene visualizzato coprendo lo schermo del dispositivo.
OnAdClosed Questo metodo viene richiamato quando l'annuncio interstitial viene chiuso perché l'utente tocca l'icona di chiusura o utilizza il pulsante Indietro. Se l'app ha messo in pausa l'output audio o il ciclo di gioco, è un ottimo punto per ripristinarli.

Pulire gli annunci interstitial

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

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

Alcune best practice

Valuta 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. Poiché l'utente si aspetta un'interruzione nell'azione, è facile presentare un annuncio interstitial senza interrompere la sua esperienza. Assicurati di considerare in quali punti del flusso di lavoro della tua app pubblicherai annunci interstitial e come è probabile che l'utente risponda.
Ricorda di mettere in pausa l'azione quando mostri un annuncio interstitial.
Esistono vari tipi di annunci interstitial: di testo, illustrati, video e altro ancora. È 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 nel gestore di eventi onAdClosed(), che verrà richiamato quando l'utente ha finito di interagire con l'annuncio. Inoltre, valuta la possibilità di interrompere temporaneamente eventuali attività di calcolo intense (ad esempio un ciclo di gioco) mentre l'annuncio viene visualizzato. In questo modo l'utente non rileverà interruzioni della grafica o non rileverà interruzioni del video o interruzioni del video.
Attendere un tempo di caricamento adeguato.
Così è importante assicurarsi di mostrare gli annunci interstitial al momento giusto, così è importante anche che l'utente non debba attendere il loro caricamento. Caricando in anticipo l'annuncio chiamando loadAd() prima che tu voglia chiamare show(), puoi assicurarti che la tua app abbia un annuncio interstitial completamente caricato e pronto quando è il momento di mostrarne uno.
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.

Altre risorse

Campioni

Casi di successo