Opzioni per gli annunci nativi

Gli annunci nativi offrono molte funzioni avanzate che consentono di aggiungere personalizzazioni 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 non viene impostato, l'annuncio restituito può avere qualsiasi formato video.

  • Se impostato, puoi migliorare l'esperienza utente specificando il parametro il tipo preferito di proporzioni.

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .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.

  • Se l'opzione è abilitata, 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, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

Controlli payload immagine

Alcuni annunci presentano 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 per le 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 attivata, la tua app indica che è pronta per mostrare tutte le immagini. per tutti gli asset che ne hanno più di uno.

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, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Posizionamenti Scegli Tu!

Controlli della posizione di Scegli Tu!

I controlli di posizione di Scegli Tu! ti consentono di scegliere l'angolo in cui visualizzare Icona Scegli Tu!.

Chiama NativeAdOptions.Builder.setAdChoicesPlacement() con un valore NativeAdOption.AdChoicesPlacement.

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

  • Se impostato, Scegli Tu! viene posizionato nella posizione personalizzata come richiesto.

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, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

Visualizzazione personalizzata Scegli Tu!

La visualizzazione personalizzata di Scegli Tu! ti consente di posizionare l'icona Scegli Tu! in una una località personalizzata. Questo è diverso dai controlli di posizione Scegli Tu!, che permette di specificare uno dei quattro angoli.

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

L'esempio seguente mostra come impostare una visualizzazione Scegli Tu! personalizzata, con la 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 VideoOptions.Builder.setStartMuted() con un valore boolean.
  • Il comportamento di avvio senza audio è attivo per impostazione predefinita.

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

  • Quando questa opzione è attiva, la tua app richiede che il video inizi con l'audio disattivato.

Il seguente esempio mostra come avviare il video con l'audio riattivato.

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .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 VideoOptions.Builder.setCustomControlsRequested() con un valore boolean.
  • Il controllo di riproduzione personalizzato è disattivato per impostazione predefinita.

  • Se questa opzione è disattivata, il video mostrerà i controlli di input visualizzati con l'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 su 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, '/21775744923/example/native')
                              .withNativeAdOptions(adOptions).build();

Verificare se i controlli personalizzati sono attivi

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

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
  }
}

Gesti di clic personalizzati

I gesti di clic personalizzati sono una funzionalità degli annunci nativi che consente di scorrere le visualizzazioni di annuncio per registrate come clic sugli 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 disattivata, l'app supporterà il normale comportamento di clic.

  • Quando l'opzione è attiva, 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, '/21775744923/example/native')
    .withNativeAdOptions(adOptions);

Ascolta gli eventi dei gesti di scorrimento

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

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 per gli annunci nativi che Google Mobile Viene eseguito il rendering dell'SDK per gli annunci. Le origini annuncio che richiedono SDK di terze parti per il rendering non rispondono all'impostazione delle indicazioni sui clic personalizzate.