Annunci con premio

Seleziona la piattaforma: Android iOS Unity Flutter

Gli annunci con premio sono annunci con cui gli utenti possono scegliere di interagire in cambio di premi in-app. Questa guida mostra come integrare gli annunci con premio di AdMob in un'app Unity.

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

Prerequisiti

Esegui sempre test con gli annunci di prova

Il seguente codice di esempio contiene un ID unità pubblicitaria che puoi utilizzare per richiedere annunci di test. È stato configurato appositamente per restituire annunci di test anziché annunci di produzione per ogni richiesta, rendendolo sicuro da usare.

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

/21775744923/example/rewarded

Inizializza l'SDK Mobile Ads

Prima di caricare gli annunci, fai in modo che la tua app inizializzi l'SDK Mobile Ads chiamando MobileAds.Initialize(). Questa operazione deve essere eseguita una sola volta, idealmente all'avvio 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 il callback prima di caricare gli annunci, in quanto in questo modo ti assicurerai che tutti gli adattatori di mediazione vengano inizializzati.

Carica l'annuncio con premio

Il caricamento di un annuncio con premio viene eseguito utilizzando il metodo statico Load() nella classe RewardedAd. L'oggetto RewardedAd caricato viene fornito come parametro nel gestore di completamento. L'esempio seguente carica un annuncio con premio:

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

// Send the request to load the ad.
RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd ad, LoadAdError error) =>
{
    if (error != null)
    {
        // The ad failed to load.
        return;
    }
    // The ad loaded successfully.
});

Sostituisci AD_UNIT_ID con l'ID unità pubblicitaria.

[Facoltativo] Convalida i callback di verifica lato server (SSV)

Le app che richiedono dati aggiuntivi nei callback di verifica lato server devono utilizzare la funzionalità di dati personalizzati degli annunci con premio. Qualsiasi valore stringa impostato su un oggetto annuncio con premio viene passato al parametro di query custom_data del callback SSV. Se non è impostato alcun valore di dati personalizzati, il valore del parametro di query custom_data non sarà presente nel callback SSV.

Il seguente esempio di codice mostra come impostare le opzioni di verifica lato server dopo il caricamento dell'annuncio con premio.

// Create and pass the SSV options to the rewarded ad.
var options = new ServerSideVerificationOptions
{
    CustomData = ""SAMPLE_CUSTOM_DATA_STRING""
};

rewardedAd.SetServerSideVerificationOptions(options);

Sostituisci SAMPLE_CUSTOM_DATA_STRING con i tuoi dati personalizzati.

Se vuoi impostare la stringa di premio personalizzata, devi farlo prima di mostrare l'annuncio.

Mostra l'annuncio con premio con il callback del premio

Quando presenti l'annuncio, devi fornire un callback per gestire il premio per l'utente. Gli annunci possono essere mostrati una sola volta per caricamento. Utilizza il metodo CanShowAd() per verificare che l'annuncio sia pronto per essere pubblicato.

Il seguente codice presenta il metodo migliore per mostrare un annuncio con premio.

if (rewardedAd != null && rewardedAd.CanShowAd())
{
    rewardedAd.Show((Reward reward) =>
    {
        // The ad was showen and the user earned a reward.
    });
}

Ascolta gli eventi degli annunci con premio

Per personalizzare ulteriormente il comportamento dell'annuncio, puoi collegarti a una serie di eventi nel ciclo di vita dell'annuncio. Il seguente codice ascolta gli eventi degli annunci:

rewardedAd.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
rewardedAd.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
rewardedAd.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
rewardedAd.OnAdFullScreenContentOpened += () =>
{
    // Raised when the ad opened full screen content.
};
rewardedAd.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};
rewardedAd.OnAdFullScreenContentFailed += (AdError error) =>
{
    // Raised when the ad failed to open full screen content.
};

Pulire l'annuncio con premio

Al termine di un RewardedAd, assicurati di chiamare il metodo Destroy() prima di rilasciare il riferimento:

if (rewardedAd != null)
{
    rewardedAd.Destroy();
}

In questo modo, il plug-in viene avvisato che l'oggetto non viene più utilizzato e che la memoria che occupa può essere recuperata. Se non chiami questo metodo, si verificano perdite di memoria.

Precaricare l'annuncio con premio successivo

RewardedAd è un oggetto monouso. Ciò significa che una volta visualizzato un annuncio con premio, l'oggetto non può essere riutilizzato. Per richiedere un altro annuncio con premio, devi creare un nuovo oggetto RewardedAd.

Per preparare un annuncio con premio per la successiva opportunità di impressione, precarica l'annuncio con premio una volta generato l'evento annuncio OnAdFullScreenContentClosed o OnAdFullScreenContentFailed.

rewardedAd.OnAdFullScreenContentClosed += () =>
{
    // Reload the ad so that we can show another as soon as possible.
    var adRequest = new AdRequest();
    RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd ad, LoadAdError error) =>
    {
        // Handle ad loading here.
    });
};

Risorse aggiuntive