I publisher Ad Manager hanno la possibilità di creare i propri formati di annunci nativi definendo elenchi personalizzati di asset. Questi formati vengono chiamati formati degli annunci nativi personalizzati e possono essere utilizzati con gli annunci riservati. Gli annunci nativi personalizzati consentono ai publisher di trasmettere dati arbitrari di immagini
e stringhe alle loro app. Questi dati sono rappresentati da un oggetto CustomNativeAd
.
Caricare un annuncio nativo personalizzato
Gli annunci nativi personalizzati vengono caricati utilizzando oggetti AdLoader
. Il metodo ForCustomNativeAd()
configura AdLoader
per gestire gli annunci nativi personalizzati. Questo metodo prevede due parametri:
- Il
formatId
dell'annuncio personalizzato cheAdLoader
deve richiedere. A ogni formato dell'annuncio nativo personalizzato è associato un valore ID formato. Questo parametro indica il formato che la tua app vuole cheAdLoader
richieda. - Un
Action<CustomNativeAd, string>
facoltativo da richiamare quando l'utente fa clic sull'annuncio.
Gli annunci nativi personalizzati vengono caricati tramite la classe AdLoader
, che ha una propria
classe AdLoader.Builder
per personalizzarli durante la creazione. Il metodo
ForCustomNativeAd()
configura AdLoader
per la gestione degli annunci nativi.
void LoadCustomNativeAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.ForCustomNativeAd("10063170")
.Build();
adLoader.LoadAd(new AdRequest.Builder().Build());
}
Poiché una singola unità pubblicitaria può essere configurata per pubblicare più formati di annunci nativi personalizzati, ForCustomNativeAd()
può essere chiamato più volte con ID formato diversi per preparare il caricatore di annunci per più formati di annunci nativi personalizzati possibili.
Eventi degli annunci nativi personalizzati
La classe AdLoader
fornisce eventi annuncio di tipo EventHandler
per informarti
sul ciclo di vita di un annuncio nativo personalizzato. L'esempio seguente mostra come
registrarsi per gli eventi degli annunci nativi personalizzati in un caricatore di annunci:
private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
Il metodo HandleCustomNativeAdLoaded()
contiene un parametro CustomNativeAdEventArgs
. È possibile accedere all'annuncio nativo personalizzato caricato tramite questo parametro evento, come mostrato di seguito:
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
this.customNativeAd = args.nativeAd;
}
Il metodo HandleCustomNativeAdFailedToLoad()
contiene un
parametro AdFailedToLoadEventArgs
. È possibile accedere al messaggio di errore
chiamando il metodo GetMessage
nel campo LoadAdError
, come mostrato di seguito:
void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
string message = args.LoadAdError.GetMessage();
Debug.Log("Ad Loader fail event received with message: " + message);
}
Visualizzare formati degli annunci nativi personalizzati
Gli annunci nativi personalizzati supportano un numero qualsiasi di asset di testo e immagini definiti dall'utente. A questi asset si accede tramite la classe CustomNativeAd
, che
fornisce i metodi GetTexture2D()
e GetText()
che accettano l'ID variabile di un
campo di formato come parametro.
Ecco un esempio di implementazione che accede agli asset da un annuncio nativo personalizzato:
private bool adLoaded;
private Texture2D mainImageTexture;
private string headline;
private CustomNativeAd customNativeAd;
...
void Update()
{
if(adLoaded)
{
mainImageTexture = customNativeAd.GetTexture2D("MainImage");
headline = customNativeAd.GetText("Headline");
adLoaded = false;
}
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
customNativeAd = args.nativeAd;
adLoaded = true;
...
}
Gestire le impressioni e i clic degli annunci nativi personalizzati
Con l'annuncio nativo personalizzato, la tua app è responsabile della registrazione delle impressioni e della segnalazione degli eventi di clic all'SDK.
Registra impressioni
Per registrare un'impressione per un annuncio personalizzato, chiama il metodo RecordImpression()
sul CustomNativeAd
corrispondente:
customNativeAd.RecordImpression();
Clic sui report
Per comunicare all'SDK che è stato fatto clic su una risorsa, chiama il metodo
PerformClick()
sull'oggetto CustomNativeAd
corrispondente e trasmetti il nome
della risorsa su cui è stato fatto clic. Ad esempio, se avevi un asset nel tuo formato personalizzato
chiamato "MainImage" e volevi registrare un clic sulla texture che
corrispondeva a quell'asset, il codice avrebbe il seguente aspetto:
customNativeAd.PerformClick("MainImage");
Rispondere alle azioni personalizzate per i clic
Quando viene segnalato un clic su un annuncio personalizzato, i tentativi di risposta dell'SDK vengono eseguiti in questo ordine:
Individua un resolver dei contenuti per l'URL di link diretto dell'annuncio e avvia il primo che viene risolto.
Apri un browser e vai all'URL di destinazione tradizionale dell'annuncio.
Se vuoi gestire autonomamente l'azione di clic per i tuoi formati degli annunci nativi personalizzati
anziché indirizzare l'utente a un link diretto o a un browser web, fornisci un
Action<CustomNativeAd, string>
facoltativo nel
metodo AdLoader.Builder.ForCustomNativeAd()
. Se imposti questa azione di clic personalizzata, esegui l'override del comportamento di clic dell'SDK. Ecco un esempio che utilizza
un'azione di clic personalizzata per registrare un clic per un determinato asset:
private void LoadCustomNativeAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.ForCustomNativeAd("10063170", HandleCustomNativeAdClicked)
.Build();
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.LoadAd(createAdRequest());
}
private void HandleCustomNativeAdClicked(CustomNativeAd customNativeAd, string assetName)
{
Debug.Log("Custom Native ad asset with name " + assetName + " was clicked.");
}