Options des annonces natives

Elles offrent de nombreuses fonctionnalités avancées personnalisations et offrir la meilleure expérience publicitaire possible. Ce guide vous explique comment utiliser les fonctionnalités avancées des annonces natives.

Prérequis

Commandes des composants

Commandes de format multimédia préféré

Les commandes de format multimédia vous permettent de spécifier une préférence pour le format des créations publicitaires.

Appelez NativeAdOptions.Builder.setMediaAspectRatio() avec une valeur NativeAdOptions.MediaAspectRatio.

  • Si cette valeur n'est pas définie, l'annonce renvoyée peut avoir n'importe quel format multimédia.

  • Si ce paramètre est défini, vous pouvez améliorer l'expérience utilisateur en spécifiant la le type de format souhaité.

L'exemple suivant indique au SDK de privilégier une image ou une vidéo renvoyée avec un format spécifique.

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();

Contrôle de téléchargement d'images

Le contrôle du téléchargement d'images vous permet de décider si les éléments image ou uniquement les URI sont renvoyés par le SDK.

Appelez NativeAdOptions.Builder.setReturnUrlsForImageAssets() avec une valeur boolean.
  • La commande de téléchargement d'images est désactivée par défaut.

  • Lorsqu'il est désactivé, le SDK Google Mobile Ads insère à la fois l'image et l'URI.

  • Lorsqu'il est activé, le SDK ne renseigne que l'URI, ce qui vous permet de télécharger les images réelles à votre guise.

L'exemple suivant indique au SDK de ne renvoyer que 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();

Commandes de charge utile de l'image

Certaines annonces contiennent une série d'images plutôt qu'une seule. Utilisez cette fonctionnalité pour indiquer si votre application est prête à afficher toutes les images ou une seule d'entre elles.

Appelez NativeAdOptions.Builder.setRequestMultipleImages() avec une valeur boolean.
  • Les commandes de charge utile de l'image sont désactivées par défaut.

  • Lorsqu'il est désactivé, votre application demande au SDK de ne fournir que la première image pour tous les composants qui contiennent une série.

  • Lorsque ce paramètre est activé, votre application indique qu'elle est prête à afficher toutes les images de tous les composants qui en comportent plusieurs.

L'exemple suivant demande au SDK de renvoyer plusieurs composants Image.

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

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

Emplacements Choisir sa pub

Contrôles de la position de la bannière "Choisir sa pub"

Les commandes de position "Choisir sa pub" vous permettent de choisir l'angle à afficher Icône Choisir sa pub.

Appeler NativeAdOptions.Builder.setAdChoicesPlacement() avec un NativeAdOption.AdChoicesPlacement .

  • Si ce paramètre n'est pas défini, l'icône Choisir sa pub est placée en haut à droite.

  • Si ce paramètre est défini, AdChoices est placé à la position personnalisée demandée.

L'exemple suivant montre comment définir une position d'image personnalisée pour Choisir sa pub.

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();

Vue personnalisée "Choisir sa pub"

<ph type="x-smartling-placeholder">

La vue personnalisée "Choisir sa pub" vous permet de positionner l'icône "Choisir sa pub" dans un emplacement personnalisé. Cela diffère des commandes de position AdChoices, qui ne permettent de spécifier qu'un seul des quatre coins.

Appelez NativeAdView.setAdChoicesView() avec une valeur AdChoicesView.

L'exemple suivant montre comment définir une vue AdChoices personnalisée, avec l'icône AdChoices affichée dans AdChoicesView.


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

Commandes vidéo

Activer le mode silencieux

Le paramètre "Son coupé au démarrage" vous permet de désactiver ou d'activer le son de début d'une vidéo.

Appelez VideoOptions.Builder.setStartMuted() avec une valeur boolean.
  • Le son est activé par défaut au démarrage.

  • Lorsque cette option est désactivée, votre application demande que la vidéo commence par audio.

  • Lorsque cette option est activée, votre application demande que la vidéo commence sans le son.

L'exemple suivant montre comment démarrer la vidéo avec le son activé.

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();

Commandes de lecture personnalisées

<ph type="x-smartling-placeholder">

Vous pouvez ainsi demander des commandes d'entrée vidéo personnalisées pour lire, mettre en pause ou couper le son vidéo.

Appeler VideoOptions.Builder.setCustomControlsRequested() avec une valeur boolean.
  • Les commandes de lecture personnalisées sont désactivées par défaut.

  • Lorsque cette option est désactivée, votre vidéo affiche les commandes d'entrée affichées par le SDK.

  • Si l'annonce comporte du contenu vidéo et que les commandes personnalisées sont activées, vous devez vous pouvez afficher vos commandes personnalisées avec l'annonce, celle-ci n'étant pas diffusée se contrôle lui-même. Les commandes peuvent ensuite appeler les méthodes appropriées sur la VideoController

L'exemple suivant montre comment demander une vidéo avec des commandes de lecture personnalisées.

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();

Vérifier si les commandes personnalisées sont activées

Étant donné qu'il n'est pas possible de savoir au moment de la demande si l'annonce renvoyée autorisera les commandes vidéo personnalisées, vous devez vérifier si les commandes personnalisées sont activées.

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

Afficher les commandes vidéo personnalisées

Effectuez le rendu des commandes vidéo personnalisées en suivant les bonnes pratiques suivantes:

  1. Affichez la vue des commandes personnalisées en tant qu'enfant de la vue de l'annonce native. Cette approche garantit que les calculs de visibilité Open Measurement considèrent les commandes personnalisées comme une obstruction conviviale.
  2. Évitez d'afficher une superposition invisible sur toute la vue multimédia. Les superpositions bloquent les clics dans la vue multimédia, ce qui a un impact négatif sur les performances des annonces natives. Créez plutôt une petite superposition juste assez grande pour accueillir les commandes.

Gestes de clic personnalisés

<ph type="x-smartling-placeholder">

Les gestes de clic personnalisés sont une fonctionnalité des annonces natives qui permet d'enregistrer les balayages sur les vues d'annonces en tant que clics sur les annonces. Il est conçu pour fonctionner avec les applications qui utilisent le balayage des gestes pour la navigation dans le contenu. Ce guide explique comment activer les clics personnalisés sur vos annonces natives.

Appelez NativeAdOptions.Builder.enableCustomClickGestureDirection() avec un NativeAdOptions.SwipeGestureDirection et un boolean pour indiquer si vous souhaitez autoriser les pressions comme clics.

  • Les gestes de clic personnalisés sont désactivés par défaut.

  • Lorsque cette option est désactivée, votre application est compatible avec les comportements de clics normaux.

  • Lorsque cette option est activée, votre application prend en charge les gestes de balayage personnalisés.

L'exemple suivant implémente un geste de balayage personnalisé vers la droite et conserve le comportement normal des onglets.

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);

Écouter les événements liés aux gestes de balayage

Lorsqu'un geste de balayage est enregistré, le SDK Google Mobile Ads appelle la onAdSwipeGestureClicked() sur AdListener, en plus de la méthode existante 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();

Médiation

Les gestes de clic personnalisés ne fonctionnent que sur les annonces natives que Google Mobile Rendus du SDK Ads Sources d'annonces nécessitent des SDK tiers pour ne répondent pas au paramètre d'itinéraire personnalisé par clic.