Configurer les fonctionnalités avancées

Sélectionnez une plate-forme : Android iOS Android (Legacy)

Les annonces natives disposent de nombreuses fonctionnalités avancées qui vous permettent d'effectuer des personnalisations supplémentaires et d'offrir la meilleure expérience publicitaire possible. Ce guide vous explique comment utiliser les fonctionnalités avancées des annonces natives.

Prérequis

  • Intégrez le format d'annonce native.

Options des assets

Cette section explique comment personnaliser les assets de création dans vos annonces natives. Vous pouvez spécifier un format préféré pour les assets multimédias, ainsi que la façon dont les assets d'image sont téléchargés et affichés.

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

Les options de format multimédia vous permettent de spécifier un format préféré pour les créations publicitaires.

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

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

  • Si elle est définie, vous pouvez améliorer l'expérience utilisateur en spécifiant le type de format préféré.

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

Java

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

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Remplacez AD_UNIT_ID par l'ID de votre bloc d'annonces.

Option de téléchargement d'images

Le contrôle du téléchargement d'images vous permet de décider si le SDK renvoie des composants Image ou uniquement des URI.

Appelez NativeAdOptions.Builder.setReturnUrlsForImageAssets() avec une valeur boolean.

  • L'option de téléchargement d'images est désactivée par défaut.

  • Lorsqu'elle est désactivée, Google Mobile Ads SDK (Legacy) remplit à la fois l'image et l'URI pour vous.

  • Lorsqu'elle est activée, le SDK ne remplit que l'URI, ce qui vous permet de télécharger les images réelles à votre convenance.

L'exemple suivant indique au SDK de ne renvoyer que l'URI.

Java

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

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .build()

Options de charge utile d'image

Certaines annonces comportent 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.

Appelez NativeAdOptions.Builder.setRequestMultipleImages() avec une valeur boolean.

  • Les options de charge utile d'image sont désactivées par défaut.

  • Lorsqu'elles sont désactivées, votre application indique au SDK de ne fournir que la première image pour tous les assets qui contiennent une série.

  • Lorsqu'elles sont activées, votre application indique qu'elle est prête à afficher toutes les images pour tous les assets qui en comportent plusieurs.

L'exemple suivant indique au SDK de renvoyer plusieurs assets d'image.

Java

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

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Emplacements de Choisir sa pub

Cette section explique comment positionner la superposition Choisir sa pub. Vous pouvez la placer dans l'un des quatre coins ou l'afficher dans une vue personnalisée.

Options de position de Choisir sa pub

Les options de position de AdChoices vous permettent de choisir le coin dans lequel afficher l'icône Choisir sa pub.

Appelez NativeAdOptions.Builder.setAdChoicesPlacement() avec une valeur NativeAdOption.AdChoicesPlacement.

  • Si cette option n'est pas définie, l'icône Choisir sa pub est placée en haut à droite.

  • Si elle est définie, Choisir sa pub est placé à l'emplacement personnalisé demandé.

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

Java

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

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Vue personnalisée Choisir sa pub

La fonctionnalité de vue personnalisée Choisir sa pub vous permet de placer l'icône Choisir sa pub à un emplacement personnalisé. Elle diffère des options de position de Choisir sa pub, qui ne permettent de spécifier que l'un des quatre coins.

Appelez NativeAdView.setAdChoicesView() avec une AdChoicesView valeur.

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

Java

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

Kotlin

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

Commandes vidéo

Cette section explique comment personnaliser l'expérience de lecture des annonces vidéo. Vous pouvez définir l'état de mise en sourdine initial et implémenter des commandes de lecture personnalisées.

Comportement de mise en sourdine au démarrage

Le comportement de mise en sourdine au démarrage vous permet de désactiver ou d'activer l'audio de démarrage d'une vidéo.

Appelez VideoOptions.Builder.setStartMuted() avec une valeur boolean.

  • Le comportement de mise en sourdine au démarrage est activé par défaut.

  • Lorsqu'il est désactivé, votre application demande que la vidéo commence avec l'audio.

  • Lorsqu'il est activé, votre application demande que la vidéo commence avec l'audio coupé.

L'exemple suivant montre comment démarrer la vidéo avec l'audio activé.

Java

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

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

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

Commandes de lecture personnalisées

Cela vous permet de demander des commandes d'entrée vidéo personnalisées pour lire, mettre en pause ou couper le son de la vidéo.

Appelez VideoOptions.Builder.setCustomControlsRequested() avec une valeur boolean.

  • Les commandes de lecture personnalisées sont désactivées par défaut.

  • Lorsqu'elles sont désactivées, votre vidéo affiche les commandes d'entrée affichées par le SDK.

Si l'annonce contient du contenu vidéo et que les commandes personnalisées sont activées, vous devez afficher vos commandes personnalisées avec l'annonce, car l'annonce n'affichera aucune commande elle-même. Les commandes peuvent ensuite appeler les méthodes pertinentes sur

VideoController.

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

Java

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

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

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

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

Comme on ne sait pas au moment de la requête 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

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

Kotlin

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

Afficher des commandes vidéo personnalisées

Affichez des commandes vidéo personnalisées en suivant les bonnes pratiques ci-dessous :

  1. Affichez la vue des commandes personnalisées en tant qu'enfant de la vue d'annonce native. Cette approche permet aux calculs de visibilité de la mesure ouverte de considérer les commandes personnalisées comme une obstruction acceptable.
  2. Évitez d'afficher une superposition invisible sur l'ensemble de la vue multimédia. Les superpositions bloquent les clics sur 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 s'adapter aux commandes.

Gestes de clic personnalisés

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

Appelez NativeAdOptions.Builder.enableCustomClickGestureDirection() avec un NativeAdOptions.SwipeGestureDirection et un boolean pour indiquer s'il faut autoriser les appuis en tant que clics.

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

  • Lorsqu'ils sont désactivés, votre application prend en charge le comportement de clic normal.

  • Lorsqu'ils sont activés, 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 d'appui normal.

Java

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

// ca-app-pub-3940256099942544/2247696110 is a sample ad unit ID that has custom click
// gestures enabled.
AdLoader.Builder builder =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(adOptions);

Kotlin

val adOptions =
  NativeAdOptions.Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT, true)
    .build()

val builder = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(adOptions)

Écouter les événements de geste de balayage

Lorsqu'un clic de geste de balayage est enregistré, Google Mobile Ads SDK (Legacy) appelle la onAdSwipeGestureClicked() méthode sur AdListener, en plus de la méthode onAdClicked() existante.

Java

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

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

Kotlin

val adLoader =
  AdLoader.Builder(context, AD_UNIT_ID)
    .withAdListener(
      object : AdListener() {
        override fun onAdSwipeGestureClicked() {
          // Called when a swipe gesture click is recorded.
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        override fun onAdClicked() {
          // Called when a swipe gesture click or a tap click is recorded, as
          // configured in NativeAdOptions.
          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 affichées par le SDK Google Mobile Ads. Les sources d'annonces qui nécessitent des SDK tiers pour l'affichage ne répondent pas au paramètre de direction de clic personnalisé.