Les annonces natives disposent de nombreuses fonctionnalités avancées qui vous permettent d'effectuer des personnalisations supplémentaires et de proposer 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 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.
Une fois défini, 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 préférer 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 du 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.
AppelezNativeAdOptions.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é, le SDK Google Mobile Ads renseigne à 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 la charge utile de l'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 seulement une.
AppelezNativeAdOptions.Builder.setRequestMultipleImages()
avec une valeur boolean
.
Les commandes de la charge utile d'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 de Choisir sa pub
Contrôles de la position de la bannière AdChoices
Les commandes de position 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 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 AdChoices personnalisée.
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"
La fonctionnalité de vue personnalisée AdChoices vous permet de positionner l'icône AdChoices à un emplacement personnalisé. Cela diffère des commandes de position AdChoices, qui ne permettent de spécifier qu'un seul des quatre coins.
AppelezNativeAdView.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
Démarrer le comportement de mise en sourdine
Le comportement de début avec le son désactivé vous permet de désactiver ou d'activer le son de début d'une vidéo.
AppelezVideoOptions.Builder.setStartMuted()
avec une valeur boolean
.
Le comportement de démarrage en mode silencieux est activé par défaut.
Lorsqu'il est désactivé, votre application demande que la vidéo commence par l'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
Vous pouvez ainsi demander des commandes d'entrée vidéo personnalisées pour lire, mettre en pause ou couper le son de la vidéo.
AppelezVideoOptions.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 générées par le SDK.
- Si l'annonce comporte du contenu vidéo et que les commandes personnalisées sont activées, vous devez afficher vos commandes personnalisées avec l'annonce, car elle n'affichera aucune commande elle-même. Les commandes peuvent ensuite appeler les méthodes appropriées sur
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 des commandes vidéo personnalisées
Affichez des commandes vidéo personnalisées en suivant les bonnes pratiques suivantes:
- 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.
- Évitez d'afficher une superposition invisible sur l'intégralité 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 accueillir les commandes.
Gestes de clic personnalisés
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 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 si les pressions doivent être autorisées en tant que clics.
Les gestes de clic personnalisés sont désactivés par défaut.
Si elle est désactivée, votre application accepte le comportement de clic normal.
Si 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 de balayage
Lorsqu'un geste de balayage est enregistré, le SDK Google Mobile Ads appelle la méthode onAdSwipeGestureClicked()
sur AdListener
, en plus de la méthode onAdClicked()
existante.
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 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 d'orientation des clics personnalisés.