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
- Intégrez le format d'annonce native.
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 NativeAdRequest.Builder.setMediaAspectRatio()
avec une valeur NativeAd.NativeMediaAspectRatio
.
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.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
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 NativeAdRequest.Builder.disableImageDownloading()
.
Les commandes de téléchargement d'images sont désactivées par défaut.
Lorsqu'il est désactivé, le SDK Google Mobile Ads (bêta) remplit l'image et l'URI pour vous.
Lorsqu'il est activé, le SDK ne renseigne 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.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.disableImageDownloading()
.build()
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Get the image uri.
val imageUri = nativeAd.image?.uri
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.disableImageDownloading()
.build();
NativeAdLoaderCallback adLoaderCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Get the image uri.
Uri imageUri = nativeAd.getImage().getUri();
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
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.
Les commandes de 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 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 pour les composants qui en comportent plusieurs.
L'exemple suivant indique au SDK de renvoyer plusieurs composants d'image.
Emplacements Choisir sa pub
Cette section explique comment positionner le calque AdChoices. Vous pouvez définir son emplacement dans l'un des quatre coins 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 l'afficher.
Appelez NativeAdRequest.Builder.setAdChoicesPlacement()
avec une valeur NativeAdRequest.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 elle est définie, la mention "Choix de pub" est placée à la position personnalisée demandée.
L'exemple suivant montre comment définir une position personnalisée pour l'image "Vos choix de publicité".
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.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 contrôles de position du badge "Vos choix de publicité", 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
.
Kotlin
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val nativeAdView = NativeAdView(applicationContext)
val adChoicesView = AdChoicesView(this)
nativeAdView.adChoicesView = adChoicesView
}
Java
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(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
et appelez NativeAdOptions.Builder.setVideoOptions()
.
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é.
Kotlin
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.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.
Pour définir l'état de démarrage du son des annonces, appelez VideoOptions.Builder.setCustomControlsRequested()
.
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
VideoOptions.Builder.setCustomControlsRequested()
.
L'exemple suivant montre comment demander une vidéo avec des commandes de lecture personnalisées.
Kotlin
val videoOptions: VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
val adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.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.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val mediaContent = nativeAd.mediaContent;
if (mediaContent != null) {
val videoController = mediaContent.videoController;
val canShowCustomControls = videoController?.isCustomControlsEnabled();
}
}
};
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
if (videoController != null) {
boolean 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 permet aux calculs de la visibilité Open Measurement de considérer les commandes personnalisées comme une obstruction amicale.
- É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 qui est juste assez grand pour contenir 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 comme des clics sur les annonces. Il est conçu pour fonctionner avec les applications qui utilisent des gestes de balayage pour parcourir le contenu. Ce guide vous explique comment activer les gestes de clic personnalisés sur vos annonces natives.
Appelez NativeAdRequest.Builder.enableCustomClickGestureDirection()
avec un NativeAd.SwipeGestureDirection
et une valeur boolean
.
L'exemple suivant implémente un geste de balayage personnalisé vers la droite et préserve le comportement normal des onglets.
Les gestes de clic personnalisés sont désactivés par défaut.
Lorsqu'il est désactivé, votre application prend en charge le comportement de clic normal.
Si cette option est activée, votre application accepte les gestes de balayage personnalisés.
L'exemple suivant implémente un geste de balayage personnalisé vers la droite et préserve le comportement normal des onglets.
Kotlin
val adOptions = NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(
/* swipeDirection */ 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.
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.withNativeAdOptions(adOptions)
.build();
Java
NativeAdOptions adOptions = new NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(
/* swipeDirection */ 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.
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.withNativeAdOptions(adOptions)
.build();
Écouter les événements de balayage
Pour écouter les événements de balayage, appelez NativeAd.setAdEventCallback()
avec un NativeAdEventCallback
et implémentez la méthode onAdSwipeGestureClicked()
.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Implement the onAdSwipeGestureClicked() method.
val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
override fun onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
}
}
}
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback)
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Implement the onAdSwipeGestureClicked() method.
NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
@Override
public void onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
};
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback);
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 le rendu ne répondent pas au paramètre d'instructions de clic personnalisées.