Opzioni per gli annunci nativi

Gli annunci nativi dispongono di molte funzionalità avanzate che ti consentono di apportare personalizzazioni aggiuntive e offrire la migliore esperienza pubblicitaria possibile. Questa guida mostra come usare le funzionalità avanzate degli annunci nativi.

Prerequisiti

Controlli degli asset

Controlli preferiti per le proporzioni dei contenuti multimediali

I controlli delle proporzioni dei contenuti multimediali ti consentono di specificare una preferenza per le proporzioni delle creatività pubblicitarie.

Chiama il numero NativeAdOptions.Builder.setMediaAspectRatio() con NativeAdOptions.MediaAspectRatio valore.

  • Se il criterio non viene configurato, l'annuncio restituito può avere qualsiasi formato multimediale.

  • Una volta impostato, potrai migliorare l'esperienza utente specificando il tipo di formato preferito.

L'esempio seguente indica all'SDK di preferire un'immagine o un video di ritorno con un proporzioni specifiche.

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                              .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
                              .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Controllo del download delle immagini

Il controllo del download delle immagini ti consente di decidere se gli asset immagine o solo gli URI vengono restituiti dall'SDK.

Chiama il numero NativeAdOptions.Builder.setReturnUrlsForImageAssets() con un valore boolean.
  • Il controllo del download delle immagini è disattivato per impostazione predefinita.

  • Se questa opzione è disattivata, l'SDK Google Mobile Ads compila sia l'immagine sia l'URI per te.

  • Se questa opzione è attivata, l'SDK compila solo l'URI, consentendoti di scaricare le immagini effettive a tua discrezione.

L'esempio seguente indica all'SDK di restituire solo l'URI.

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                                                     .setReturnUrlsForImageAssets(true)
                                                     .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

Controlli payload immagine

Alcuni annunci contengono una serie di immagini anziché una sola. Usa questa funzione per indicare se l'app è pronta per visualizzare tutte le immagini o solo una.

Chiama il numero NativeAdOptions.Builder.setRequestMultipleImages() con un valore boolean.
  • I controlli del payload delle immagini sono disattivati per impostazione predefinita.

  • Se questa opzione è disattivata, l'app indica all'SDK di fornire solo la prima immagine per gli asset che contengono una serie.

  • Se questa opzione è attivata, l'app indica che è pronta a visualizzare tutte le immagini per gli asset che ne hanno più di una.

L'esempio seguente indica all'SDK di restituire più asset immagine.

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                                                     .setRequestMultipleImages(true)
                                                     .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Posizionamenti Scegli Tu!

Controlli della posizione di Scegli Tu!

I controlli della posizione di Scegli Tu! ti consentono di scegliere in quale angolo visualizzare l'icona Scegli Tu!.

Chiama il numero NativeAdOptions.Builder.setAdChoicesPlacement() con NativeAdOption.AdChoicesPlacement valore.

  • Se non è impostato, la posizione dell'icona Scegli Tu! è impostata in alto a destra.

  • Se impostato, AdChoices viene posizionato nella posizione personalizzata richiesta.

L'esempio seguente mostra come impostare la posizione di un'immagine Scegli Tu! personalizzata.

NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
                                                     .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
                                                     .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Visualizzazione personalizzata di Scegli Tu!

La visualizzazione personalizzata di Scegli Tu! ti consente di posizionare l'icona Scegli Tu! in una una località personalizzata. È diverso dai controlli della posizione di AdChoices, che consentono di specificare solo uno dei quattro angoli.

Chiama il numero NativeAdView.setAdChoicesView() con AdChoicesView valore.

L'esempio seguente mostra come impostare una visualizzazione Scegli Tu! personalizzata, con l'icona Scegli Tu! visualizzata all'interno di AdChoicesView.


public void onNativeAdLoaded(NativeAd ad) {
    NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
    AdChoicesView adChoicesView = new AdChoicesView(this);
    nativeAdView.setAdChoicesView(adChoicesView);
}

Comandi video

Avvia comportamento di disattivazione dell'audio

Questo comportamento consente di disattivare o attivare l'audio di avvio di un video.

Chiama il numero VideoOptions.Builder.setStartMuted() con un valore boolean.
  • Il comportamento di avvio senza audio è attivo per impostazione predefinita.

  • Se questa opzione è disattivata, l'app richiede che il video inizi con l'audio.

  • Se questa opzione è attivata, l'app richiede che l'audio del video sia disattivato all'inizio.

L'esempio seguente mostra come avviare il video con l'audio non disattivato.

VideoOptions videoOptions = new VideoOptions.Builder()
                                            .setStartMuted(false)
                                            .build();

NativeAdOptions adOptions = new NativeAdOptions.Builder()
                                               .setVideoOptions(videoOptions)
                                               .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

Controlli di riproduzione personalizzati

Ciò ti consente di richiedere controlli di input video personalizzati per riprodurre, mettere in pausa o disattivare l'audio video.

Chiama il numero VideoOptions.Builder.setCustomControlsRequested() con un valore boolean.
  • I controlli di riproduzione personalizzati sono disattivati per impostazione predefinita.

  • Se questa opzione non è attiva, nel video verranno mostrati i controlli di input visualizzati dall'SDK.

  • Se l'annuncio dispone di contenuti video e i controlli personalizzati sono attivi, quindi mostra i controlli personalizzati insieme all'annuncio, in quanto quest'ultimo non mostrerà automaticamente. I controlli possono quindi chiamare i metodi pertinenti sulla VideoController

L'esempio seguente mostra come richiedere un video con controlli di riproduzione personalizzati.

VideoOptions videoOptions = new VideoOptions.Builder()
                                            .setCustomControlsRequested(true)
                                            .build();

NativeAdOptions adOptions = new NativeAdOptions.Builder()
                                               .setVideoOptions(videoOptions)
                                               .build();

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

Verificare se i controlli personalizzati sono attivi

Poiché non è noto al momento della richiesta se l'annuncio restituito consentirà controlli video personalizzati, devi verificare se sono attivati dei controlli personalizzati.

Java

@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  if (mediaContent != null) {
    VideoController videoController = mediaContent.getVideoController();
    boolean canShowCustomControls = videoController.isCustomControlsEnabled();
  }
}

Kotlin

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

Mostrare controlli video personalizzati

Per visualizzare i controlli video personalizzati, segui le best practice riportate di seguito:

  1. Visualizza la visualizzazione dei controlli personalizzati come secondaria della visualizzazione dell'annuncio nativo. Questo approccio garantisce che i calcoli della visibilità di Open Measurement considerino i controlli personalizzati come un'ostruzione non dannosa.
  2. Evita di eseguire il rendering di un overlay invisibile sull'intera visualizzazione dei contenuti multimediali. Gli overlay bloccano i clic nella visualizzazione dei contenuti multimediali, con un impatto negativo sul rendimento degli annunci nativi. Crea invece un overlay piccolo, abbastanza grande da contenere i controlli.

Gesti di clic personalizzati

I gesti di clic personalizzati sono una funzionalità degli annunci nativi che consente di registrare come clic sugli annunci gli scorrimenti sulle visualizzazioni degli annunci. È progettata per funzionare con le app che utilizzano lo scorrimento gesti per la navigazione dei contenuti. Questa guida spiega come attivare i clic personalizzati gesti per gli annunci nativi.

Chiama il numero NativeAdOptions.Builder.enableCustomClickGestureDirection() con NativeAdOptions.SwipeGestureDirection e boolean per indicare se vuoi consentire i tocchi come clic.

  • I gesti di clic personalizzati sono disattivati per impostazione predefinita.

  • Se questa opzione è disattivata, l'app supporterà il normale comportamento dei clic.

  • Se abilitata, l'app supporterà i gesti di scorrimento personalizzati.

L'esempio seguente implementa un gesto di scorrimento personalizzato verso destra e conserva il normale comportamento della scheda.

NativeAdOptions adOptions = new NativeAdOptions
    .Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
            /* tapsAllowed= */ true)
    .build();

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
    .Builder(this, 'ca-app-pub-3940256099942544/2247696110')
    .withNativeAdOptions(adOptions);

Ascolta gli eventi dei gesti di scorrimento

Quando viene registrato un clic con gesto di scorrimento, l'SDK Google Mobile Ads invoca il metodo onAdSwipeGestureClicked() su AdListener, oltre al metodo onAdClicked() esistente.

AdLoader adLoader = builder
    .withAdListener(
      new AdListener() {
        // Called when a swipe gesture click is recorded.
        @Override
        public void onAdSwipeGestureClicked() {
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        // Called when a swipe gesture click or a tap click is recorded, as
        // configured in NativeAdOptions.
        @Override
        public void onAdClicked() {
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      })
    .build();

Mediazione

I gesti di clic personalizzati funzionano solo sugli annunci nativi visualizzati dall'SDK Google Mobile Ads. Le origini annuncio che richiedono SDK di terze parti per il rendering non rispondono all'impostazione delle indicazioni sui clic personalizzate.