Définir des fonctionnalités natives avancées

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

Les annonces natives offrent de nombreuses fonctionnalités avancées qui vous permettent de personnaliser davantage vos annonces 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

Options des composants

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 composants multimédias, ainsi que la façon dont les composants Image sont téléchargés et affichés.

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

Les commandes de format du mé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 média.

  • Si vous le définissez, vous pourrez 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 de retour 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 choisir si le SDK renvoie des composants Image ou uniquement des URI.

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

  • Les commandes de téléchargement d'images sont désactivées par défaut.

  • Lorsqu'il est désactivé, Google Mobile Ads SDK remplit 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 discrétion.

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'elle est désactivée, votre application demande au SDK de ne fournir que la première image pour les composants contenant une série.

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

L'exemple suivant indique au SDK de renvoyer plusieurs composants 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 Choisir sa pub

Cette section explique comment positionner le calque AdChoices. Vous pouvez définir son emplacement dans l'un des quatre angles ou l'afficher dans une vue personnalisée.

Contrôles de la position du badge "Choisir sa pub"

Les commandes de positionnement de l'icône "Choisir sa pub" vous permettent de choisir dans quel coin afficher l'icône "Choisir sa pub".

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

  • Si elle n'est pas définie, la position de l'icône Choisir sa pub est définie sur "en haut à droite".

  • Si cette option est définie, le choix de l'utilisateur est placé à l'emplacement personnalisé demandé.

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

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 positionner l'icône Choisir sa pub à un emplacement personnalisé. Cela diffère des commandes de position AdChoices, qui ne permettent de spécifier que l'un des quatre angles.

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.

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 avez la possibilité de définir l'état de mise en sourdine initial et d'implémenter des commandes de lecture personnalisées.

Ignorer un comportement

Le comportement de démarrage avec le son désactivé 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 "Démarrer en mode silencieux" est activé par défaut.

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

  • 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é.

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.

  • Si cette option est désactivée, les commandes d'entrée rendues par le SDK s'affichent dans votre vidéo.

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. Les contrôles peuvent ensuite appeler les méthodes appropriées sur le

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

É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

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 suivantes :

  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é Open Measurement de considérer les commandes personnalisées comme une obstruction acceptable.
  2. Évitez d'afficher une superposition invisible sur l'intégralité de la vue du contenu multimédia. Les calques bloquent les clics sur la vue du contenu multimédia, ce qui a un impact négatif sur les performances des annonces natives. Créez plutôt un petit calque suffisamment grand pour contenir les commandes.