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.
Options des assets
Cette section explique comment personnaliser les assets de création de 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 de média préféré
Les commandes de format de 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 ce paramètre n'est pas défini, l'annonce renvoyée peut avoir n'importe quel format multimédia.
Lorsqu'il 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 de retour avec un format spécifique.
Kotlin
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
Contrôle du téléchargement des images
Le contrôle du téléchargement des images vous permet de décider si le SDK doit renvoyer des composants Image ou uniquement des URI.
Appelez NativeAdRequest.Builder.disableImageDownloading().
Le contrôle du téléchargement d'images est désactivé par défaut.
Lorsque cette option est désactivée, GMA Next-Gen SDK renseigne l'image et l'URI pour vous.
Lorsqu'elle est activée, le SDK n'indique 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.
Kotlin
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
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(
"/21775744923/example/native",
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 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 une seule.
Les contrôles de la charge utile de l'image sont désactivés par défaut.
Lorsqu'elle est désactivée, votre application indique au SDK de ne fournir que la première image pour tous les composants contenant une série.
Lorsque cette option est activée, votre application indique qu'elle est prête à afficher toutes les images des assets qui en comportent plusieurs.
L'exemple suivant indique au SDK de renvoyer plusieurs composants Image.
Emplacements de Choisir sa pub
Cette section explique comment positionner la superposition Choisir sa pub. 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 de l'icône Choisir sa pub
Les commandes de position de l'icône AdChoices vous permettent de choisir l'angle dans lequel l'afficher.
Appelez NativeAdRequest.Builder.setAdChoicesPlacement() avec une valeur NativeAdRequest.AdChoicesPlacement.
Si elle n'est pas définie, l'icône Choisir sa pub est placée en haut à droite.
Si cette option est définie, 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(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
Vue personnalisée de 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é. Cette option est différente des commandes de positionnement d'AdChoices, qui ne permettent de spécifier qu'un des quatre angles.
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 initial de coupure du son et implémenter des commandes de lecture personnalisées.
Démarrer le comportement de coupure du son
Le comportement "Démarrer sans le son" vous permet de désactiver ou d'activer le son d'une vidéo au démarrage.
Appelez VideoOptions.Builder.setStartMuted() avec une valeur boolean, puis appelez NativeAdOptions.Builder.setVideoOptions().
Le comportement de démarrage en mode silencieux est activé par défaut.
Lorsqu'elle est désactivée, 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 lancer la vidéo avec le son activé.
Kotlin
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
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 coupure du son au démarrage des annonces, appelez VideoOptions.Builder.setCustomControlsRequested().
Les commandes de lecture personnalisées sont désactivées par défaut.
Lorsqu'elle est désactivée, votre vidéo affiche les commandes de saisie affiché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 celle-ci n'en affichera pas elle-même. Les commandes peuvent ensuite appeler les méthodes appropriées 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(
"/21775744923/example/native",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"/21775744923/example/native",
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 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 les commandes vidéo personnalisées en suivant ces bonnes pratiques :
- Affichez la vue des commandes personnalisées en tant qu'enfant de la vue d'annonce native. Cette approche permet aux calculs de visibilité Open Measurement de considérer les commandes personnalisées comme une obstruction acceptable.
- É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 contenir les commandes.
Gestes de clic personnalisés
Les gestes de clic personnalisés sont une fonctionnalité d'annonces natives qui vous permet d'enregistrer les balayages sur les vues d'annonces en tant que clics sur une annonce. Elle fonctionne 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 NativeAdRequest.Builder.enableCustomClickGestureDirection() avec un NativeAd.SwipeGestureDirection et une valeur boolean.
Les gestes de clic personnalisés sont désactivés par défaut.
Lorsqu'elle est désactivée, votre application accepte le comportement de clic normal.
Lorsqu'elle 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 conserve le comportement d'appui normal.
Kotlin
Java
É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 l'affichage ne répondent pas au paramètre de direction de clic personnalisé.