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
template del formato dell'annuncio nativo personalizzato che la tua app vuole che AdLoader richieda.
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 degli annunci nel 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 accettano 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 sul report
Per comunicare all'SDK che è stato effettuato un 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 nel formato dell'annuncio nativo personalizzato avevi un asset denominato "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 degli 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 in precedenza.
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.");
}