Définir des fonctionnalités natives avancées

Sélectionnez une plate-forme : Android (bêta) Nouveau Android iOS

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.

Commandes des éléments

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

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

Les commandes 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 ce paramètre n'est pas défini, 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 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.

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

Le contrôle du téléchargement d'images vous permet de déterminer si le SDK renvoie des éléments image ou uniquement des URI.

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

  • Le contrôle du téléchargement d'images est désactivé par défaut.

  • Lorsqu'il est désactivé, Google Mobile Ads SDK remplit à la fois l'image et l'URI pour vous.

  • Lorsqu'il est activé, 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()

Commandes 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 commandes 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 éléments contenant une série.

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

L'exemple suivant indique au SDK de renvoyer plusieurs éléments 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.

Commandes de position de Choisir sa pub

Les commandes de position de Choisir sa pub 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 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, 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 commandes 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 le son de début 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 le son.

  • Lorsqu'il est activé, 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é.

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 rendues 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 la 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.