Le visualizzazioni banner sono annunci rettangolari con immagini o testo che occupano uno spazio sullo schermo. Rimangono sullo schermo durante l'interazione degli utenti con l'app e possono essere aggiornati automaticamente dopo un determinato periodo di tempo. Se non hai mai utilizzato la pubblicità mobile, sono un ottimo punto di partenza.
Questa guida mostra come integrare le visualizzazioni banner in un'app Unity. Oltre a snippet di codice e istruzioni, include anche informazioni sul dimensionamento corretto dei banner e link a risorse aggiuntive.
Prerequisiti
Prima di continuare, configura Google Mobile Ads Unity Plugin.
Esegui sempre i test con gli annunci di prova
Il seguente codice campione contiene un ID unità pubblicitaria che puoi utilizzare per richiedere annunci di prova. È stato configurato appositamente per restituire annunci di prova anziché annunci di produzione per ogni richiesta, quindi è sicuro da utilizzare.
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 prova durante lo sviluppo.
/21775744923/example/fixed-size-banner
Inizializza Google Mobile Ads Unity Plugin
Prima di caricare gli annunci, fai in modo che l'app inizializzi Google Mobile Ads Unity Plugin 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 Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Se utilizzi la mediazione, attendi che si verifichi il callback prima di caricare gli annunci, in modo da assicurarti che tutti gli adattatori di mediazione siano inizializzati.
Esempio di BannerView
Il seguente codice campione descrive in dettaglio come utilizzare la visualizzazione banner. Nell'esempio, crea un'istanza di una visualizzazione banner, utilizza un AdManagerAdRequest per caricare un annuncio nella visualizzazione banner, quindi estendi le sue funzionalità gestendo gli eventi del ciclo di vita.
Crea una visualizzazione banner
Il primo passaggio per utilizzare una visualizzazione banner è creare un'istanza di una visualizzazione banner.
Sostituisci AD_UNIT_ID con l'ID unità pubblicitaria.
Il costruttore di un AdManagerBannerView ha i seguenti parametri:
adUnitId: l'ID unità pubblicitaria dell'annuncio banner da caricare.AdSize: la dimensione del banner che vuoi utilizzare.AdPosition: la posizione in cui devono essere inserite le visualizzazioni banner.
(Facoltativo) Crea una visualizzazione banner con una posizione personalizzata
Per un maggiore controllo sulla posizione di una visualizzazione banner sullo schermo rispetto a quella offerta dai valori AdPosition, utilizza il costruttore con coordinate x e y come parametri:
L'angolo in alto a sinistra della visualizzazione banner è posizionato in corrispondenza dei valori x e y passati al costruttore, dove l'origine è l'angolo in alto a sinistra dello schermo.
(Facoltativo) Crea una visualizzazione banner con una dimensione personalizzata
Oltre a utilizzare una costante AdSize, puoi anche specificare una dimensione personalizzata per l'annuncio:
(Facoltativo) Annunci con più dimensioni
Ad Manager ti consente di specificare più dimensioni degli annunci che potrebbero essere idonee alla pubblicazione in un AdManagerBannerView. Prima di implementare questa funzionalità nell'SDK, crea un elemento pubblicitario che abbia come target le stesse unità pubblicitarie associate a creatività di dimensioni diverse.
Nell'app, passa più parametri AdSize a ValidAdSizes:
Se AdManagerAdView cambia dimensione al momento dell'aggiornamento, il layout deve essere in grado di adattarsi automaticamente alla nuova dimensione. AdManagerAdView utilizza per impostazione predefinita la dimensione passata nel primo parametro fino alla restituzione dell'annuncio successivo.
Carica un annuncio banner
Dopo aver inserito AdManagerBannerView, procedi al caricamento di un annuncio con il metodo LoadAd() nella classe AdManagerBannerView. Accetta un parametro che contiene
informazioni di runtime, come informazioni sul targeting, etichette di esclusione e l'ID fornito dal publisher.
Per caricare un annuncio, crea un AdManagerAdRequest e passalo al metodo LoadAd().
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
Ascolta gli eventi della visualizzazione banner
Per personalizzare il comportamento dell'annuncio, puoi collegarti a una serie di eventi nel ciclo di vita dell'annuncio, come il caricamento, l'apertura o la chiusura. Per ascoltare questi eventi, registra un delegato:
adManagerBannerView.OnBannerAdLoaded += () =>
{
// Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
// Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
// Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
Elimina la visualizzazione banner
Per eliminare il banner, chiama il metodo Destroy() per rilasciare le risorse:
if (adManagerBannerView != null)
{
// Always destroy the banner view when no longer needed.
adManagerBannerView.Destroy();
adManagerBannerView = null;
}
Per i banner che non vengono caricati, ti consigliamo di aggiornarli anziché eliminarli e crearne di nuovi. Per maggiori dettagli, consulta Aggiorna un annuncio.
Aggiorna un annuncio
Se hai configurato l'unità pubblicitaria per l'aggiornamento, non devi richiedere un altro annuncio quando il caricamento dell'annuncio non riesce. Google Mobile Ads Unity Plugin rispetta qualsiasi frequenza di aggiornamento specificata nell'interfaccia utente di Ad Manager. Se non hai attivato l'aggiornamento, invia una nuova richiesta. Per maggiori dettagli sull'aggiornamento delle unità pubblicitarie, ad esempio sull' impostazione di una frequenza di aggiornamento, consulta Frequenza di aggiornamento degli annunci nelle app mobile.
Dimensioni dei banner
La tabella seguente elenca le dimensioni standard dei banner:
| Dimensioni in dp (LxA) | Descrizione | Disponibilità | Costante AdSize |
|---|---|---|---|
| 320x50 | Banner standard | Cellulari e tablet | BANNER |
| 320x100 | Banner grande | Cellulari e tablet | LARGE_BANNER |
| 300x250 | Rettangolo medio IAB | Cellulari e tablet | MEDIUM_RECTANGLE |
| 468x60 | Banner a tutta larghezza IAB | Tablet | FULL_BANNER |
| 728x90 | Classifica IAB | Tablet | LEADERBOARD |
| Larghezza fornita x Altezza adattabile | Banner adattivo | Cellulari e tablet | N/D |
| Larghezza schermo x 32|50|90 | Banner intelligente | Cellulari e tablet | SMART_BANNER |
| Scopri di più sui banner adattivi, progettati per sostituire i banner smart. | |||
Eventi app
Gli eventi app ti consentono di creare annunci che possono inviare messaggi al codice dell'app. L'app può quindi intraprendere azioni in base a questi messaggi.
Puoi ascoltare gli eventi app specifici di Ad Manager utilizzando AppEvent. Questi eventi possono verificarsi in qualsiasi momento durante il ciclo di vita dell'annuncio, anche prima della chiamata di caricamento.
OnAppEventReceived viene generato quando si verifica un evento app in un annuncio. Ecco un esempio di come gestire questo evento nel codice:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};
Ecco un esempio che mostra come modificare il colore di sfondo dell'app a seconda di un evento app con il nome color:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseHtmlString(args.Data, out color))
{
renderer.material.color = color;
}
}
};
Ecco la creatività corrispondente che invia l'evento app color:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0;
left: 0;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
Risorse aggiuntive
- Esempio HelloWorld: un'implementazione minima di tutti i formati degli annunci.