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.
Contrôles 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.
Contrôles du format multimédia préféré
Les contrôles du format multimé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 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.
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 décider si le SDK renvoie des éléments image ou uniquement des URI.
Appelez NativeAdRequest.Builder.disableImageDownloading().
Le contrôle du téléchargement d'images est désactivé par défaut.
Lorsqu'il est désactivé, GMA Next-Gen 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.
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);
Contrôles de la charge utile des images
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 contrôles de la charge utile des images sont désactivés par défaut.
Lorsqu'ils sont désactivés, votre application indique au SDK de ne fournir que la première image pour tous les éléments contenant une série.
Lorsqu'ils sont activés, 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.
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.
Contrôles de la position de Choisir sa pub
Les contrôles de la position de Choisir sa pub vous permettent de choisir le coin dans lequel afficher l'icône Choisir sa pub.
Appelez NativeAdRequest.Builder.setAdChoicesPlacement()
avec une valeur NativeAdRequest.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é à la position personnalisée demandée.
L'exemple suivant montre comment définir une position personnalisée pour l'image Choisir sa pub.
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 placer l'icône Choisir sa pub à un emplacement personnalisé. Elle diffère des contrôles de la position de Choisir sa pub, qui ne permettent de spécifier que l'un des quatre coins.
Appelez NativeAdView.setAdChoicesView()
avec une valeur AdChoicesView.
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.
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 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 d'activer ou de désactiver le son de démarrage d'une vidéo.
Appelez VideoOptions.Builder.setStartMuted()
avec une valeur boolean et appelez NativeAdOptions.Builder.setVideoOptions().
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 avec le son coupé.
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 mise en sourdine au démarrage des annonces, appelez VideoOptions.Builder.setCustomControlsRequested().
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
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
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.
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 ci-dessous :
- 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.
- É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 contenir les commandes.