Formati di annunci nativi personalizzati

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:

  1. Individua un resolver dei contenuti per l'URL di link diretto dell'annuncio e avvia il primo che viene risolto.
  2. 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.");
}