I publisher di Google Ad Manager possono creare i propri formati di annunci nativi definendo
elenchi personalizzati di asset. Questi
formati degli annunci nativi personalizzati
possono essere utilizzati con gli annunci con prenotazione. I formati degli annunci nativi personalizzati consentono ai publisher di
trasmettere dati arbitrari di immagini e stringhe alle loro app. Questi dati sono rappresentati da
un oggetto CustomNativeTemplateAd
.
Caricare formati degli annunci nativi personalizzati
I formati degli annunci nativi personalizzati vengono caricati utilizzando gli oggetti AdLoader
.
Il metodo forCustomTemplateAd()
configura AdLoader
per
gestire i formati degli annunci nativi personalizzati. A ogni formato dell'annuncio nativo personalizzato è associato un valore ID modello. Devi specificare l'ID
del modello del formato dell'annuncio nativo personalizzato che la tua app vuole richiedere a AdLoader
.
Cerca gli
ID modello
nell'interfaccia utente di Ad Manager per l'ID modello del formato dell'annuncio nativo che
vuoi richiedere.
void LoadCustomNativeTemplateAd()
{
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ù di un modello di creatività,
forCustomTemplateAd()
può essere chiamato più volte con ID modello diversi
per preparare Adloader
per più di un possibile formato dell'annuncio nativo personalizzato.
Lo snippet di codice riportato di seguito mostra come preparare un AdLoader
per più
modelli di formato di annunci nativi personalizzati.
void LoadCustomNativeTemplateAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.forCustomNativeAd("10063170")
.forCustomNativeAd("10063171")
.forCustomNativeAd("10063172")
.Build();
adLoader.LoadAd(new AdRequest.Builder().Build());
}
Eventi annuncio del formato di annunci nativi personalizzato
La classe AdLoader
fornisce eventi annuncio di tipo EventHandler
per informarti sul ciclo di vita di un formato di annuncio nativo personalizzato.
L'esempio seguente mostra come registrarsi per gli eventi
annuncio nel formato annuncio nativo personalizzato:
adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
Il metodo HandleCustomNativeAdLoaded()
contiene un parametro CustomNativeEventArgs
.
È possibile accedere al formato dell'annuncio nativo personalizzato caricato tramite questo parametro
dell'evento, come mostrato di seguito:
private boolean adLoaded;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
customNativeTemplateAd = args.nativeAd;
adLoaded = true;
}
Visualizzare formati degli annunci nativi personalizzati
I formati degli annunci nativi personalizzati supportano un numero qualsiasi di asset immagine e
di testo definiti dall'utente. A questi asset si accede tramite la classe CustomNativeTemplateAd
,
che fornisce i metodi GetTexture2D()
e GetText()
che utilizzano l'ID variabile di
un campo del modello come parametro.
L'implementazione di esempio riportata di seguito estrae gli asset da un CustomNativeTemplateAd
:
public const int NATIVE_AD_TEMPLATE_1 = 10063170;
public const int NATIVE_AD_TEMPLATE_2 = 10063171;
private boolean adLoaded;
private Texture2d mainImageTexture;
private string headline;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void Update()
{
if(adLoaded)
{
mainImageTexture = customNativeTemplateAd.GetTexture2D("MainImage");
headline = customNativeTemplateAd.GetText("Headline");
string templateId = customNativeTemplateAd.GetCustomTemplateId();
if (templateId == NATIVE_AD_TEMPLATE_1)
{
...
}
else if (templateId == NATIVE_AD_TEMPLATE_2)
{
...
}
...
adLoaded = false;
}
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
customNativeTemplateAd = args.nativeAd;
adLoaded = true;
...
}
Gestire clic e impressioni dei formati degli annunci nativi personalizzati
Con i formati degli annunci nativi personalizzati, 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 formato dell'annuncio nativo personalizzato, chiama il metodo RecordImpression()
sul CustomNativeTemplateAd
corrispondente:
customNativeTemplateAd.RecordImpression();
Clic sui report
Per comunicare all'SDK che è stato fatto clic su una risorsa, chiama il metodo PerformClick()
sulla CustomNativeTemplateAd
corrispondente e trasmetti il nome della risorsa su cui è stato
fatto clic. Ad esempio, se in un formato dell'annuncio nativo personalizzato avevi un asset chiamato "MainImage" e volevi
registrare un clic sulla texture corrispondente a quell'asset, il codice avrebbe il seguente aspetto:
customNativeTemplateAd.PerformClick("MainImage");
Quando viene segnalato un clic su un annuncio con modello personalizzato, l'SDK può fornire due risposte possibili, tentate 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.
Azioni di clic personalizzate
Potresti decidere di gestire autonomamente l'azione di clic per i tuoi formati di annunci nativi personalizzati
anziché indirizzare l'utente a un link diretto o a un browser web. Puoi farlo fornendo un Action<CustomNativeTemplateAd, string>
facoltativo
nel metodo AdLoader.Builder.forCustomTemplateAd()
. Se imposti questa azione di clic personalizzata, esegui l'override del comportamento di clic dell'SDK descritto sopra.
Ecco un esempio che utilizza un'azione di clic personalizzata per registrare un clic per un determinato asset:
private void LoadCustomNativeTemplateAd()
{
AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
.forCustomNativeAd("10063170", HandleCustomNativeAdClicked)
.Build();
adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
adLoader.LoadAd(createAdRequest());
}
private void HandleCustomNativeAdClicked(CustomNativeTemplateAd customNativeTemplateAd, string assetName)
{
Debug.Log("Native ad asset with name " + assetName + " was clicked.");
}