Les bannières sont des annonces rectangulaires qui occupent une partie de la mise en page d'une application. Elles restent à l'écran lorsque les utilisateurs interagissent avec l'application, ancrées en haut ou en bas de l'écran, ou intégrées au contenu lorsque l'utilisateur fait défiler la page. Les bannières peuvent s'actualiser automatiquement après un certain temps. Pour en savoir plus, consultez la page Présentation des bannières.
Ce guide vous explique comment faire vos premiers pas avec les bannières adaptatives ancrées, qui maximisent les performances en optimisant la taille de l'annonce pour chaque appareil à l'aide d'une largeur d'annonce que vous spécifiez.
Les bannières adaptatives ancrées sont des annonces au format fixe plutôt que les annonces standards de taille fixe. Le format est semblable à la norme du secteur : 320 x 50. Une fois que vous avez spécifié la largeur maximale disponible, vous obtenez une annonce dont la hauteur est optimale pour cette largeur. La hauteur optimale ne change pas entre les requêtes provenant d'un même appareil, et les vues environnantes n'ont pas besoin de bouger lors de l'actualisation de l'annonce.
Conditions préalables
- Suivez le guide de démarrage.
Toujours tester avec des annonces tests
Lorsque vous créez et testez vos applications, veillez à utiliser des annonces tests plutôt que des annonces de production en ligne. À défaut, votre compte risque d'être suspendu.
Le moyen le plus simple de charger des annonces tests consiste à utiliser notre ID de bloc d'annonces test dédié aux bannières Android:
ca-app-pub-3940256099942544/9214589741
Il a été spécialement configuré pour renvoyer des annonces tests pour chaque requête. Vous pouvez l'utiliser dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.
Pour en savoir plus sur le fonctionnement des annonces tests du SDK Mobile Ads, consultez Annonces tests.
Ajouter AdView à la mise en page
Pour afficher une bannière, la première étape consiste à placer AdView
dans la mise en page du Activity
ou du Fragment
, dans lequel vous souhaitez l'afficher:
Java
private AdSize getAdSize() {
// Determine the screen width (less decorations) to use for the ad width.
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics();
display.getMetrics(outMetrics);
float density = outMetrics.density;
float adWidthPixels = adContainerView.getWidth();
// If the ad hasn't been laid out, default to the full screen width.
if (adWidthPixels == 0) {
adWidthPixels = outMetrics.widthPixels;
}
int adWidth = (int) (adWidthPixels / density);
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth);
}
private void loadBanner() {
// Create a new ad view.
AdView adView = new AdView(this);
adView.setAdSizes(getAdSize());
adView.setAdUnitId("ca-app-pub-3940256099942544/9214589741");
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
Kotlin
// Determine the screen width (less decorations) to use for the ad width.
// If the ad hasn't been laid out, default to the full screen width.
private val adSize: AdSize
get() {
val display = windowManager.defaultDisplay
val outMetrics = DisplayMetrics()
display.getMetrics(outMetrics)
val density = outMetrics.density
var adWidthPixels = binding.adViewContainer.width.toFloat()
if (adWidthPixels == 0f) {
adWidthPixels = outMetrics.widthPixels.toFloat()
}
val adWidth = (adWidthPixels / density).toInt()
return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth)
}
private fun loadBanner() {
// Create a new ad view.
val adView = AdView(this)
adView.adSizes = adSize
adView.adUnitId = "ca-app-pub-3940256099942544/9214589741"
// Create an ad request.
val adRequest = AdRequest.Builder().build()
// Start loading the ad in the background.
adView.loadAd(adRequest)
}
Charger une annonce
Une fois AdView en place, l'étape suivante consiste à charger une annonce. Pour ce faire, utilisez la méthode loadAd()
dans la classe AdView
. Il utilise un paramètre AdRequest
, qui contient des informations d'exécution, telles que des informations de ciblage, concernant une demande d'annonce donnée.
Voici un exemple qui montre comment charger une annonce dans la méthode onCreate()
d'un Activity
:
Java
private void loadBanner() {
// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
// Start loading the ad in the background.
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
Kotlin
private fun loadBanner() {
// This is an ad unit ID for a test ad. Replace with your own banner ad unit ID.
adView.adUnitId = "/6499/example/banner"
adView.setAdSize(adSize)
// Create an ad request.
val adRequest = AdRequest.Builder().build()
// Start loading the ad in the background.
adView.loadAd(adRequest)
}
Si votre annonce ne se charge pas, vous n'avez pas besoin d'en demander une autre de façon explicite tant que vous avez configuré l'actualisation de votre bloc d'annonces. Le SDK Google Mobile Ads respecte la fréquence d'actualisation spécifiée dans l'interface Web AdMob. Si vous n'avez pas activé l'actualisation, vous devrez envoyer une nouvelle requête.
Et voilà ! Votre application est maintenant prête à diffuser des bannières.
Événements d'annonces
Vous pouvez écouter un certain nombre d'événements au cours du cycle de vie d'une annonce, y compris le chargement, les impressions et les clics sur l'annonce, ainsi que les événements d'ouverture et de fermeture de l'annonce. Nous vous recommandons de définir le rappel avant de charger la bannière.Java
AdView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
AdView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
Chacune des méthodes pouvant être remplacées dans AdListener
correspond à un événement du cycle de vie d'une annonce.
Méthodes remplaçables | |
---|---|
onAdClicked() |
La méthode onAdClicked() est appelée lorsqu'un clic est enregistré pour une annonce.
|
onAdClosed() |
La méthode onAdClosed() est appelée lorsqu'un utilisateur revient dans l'application après avoir consulté l'URL de destination d'une annonce. Votre application peut l'utiliser pour reprendre des activités suspendues ou effectuer toute autre tâche nécessaire pour se préparer à une interaction.
Consultez l'exemple d'écouteur d'annonces AdMob pour découvrir comment implémenter les méthodes de l'écouteur d'annonces dans l'application de démonstration de l'API Android.
|
onAdFailedToLoad() |
La méthode onAdFailedToLoad() est la seule à inclure un paramètre. Le paramètre d'erreur de type LoadAdError décrit l'erreur qui s'est produite. Pour en savoir plus, consultez la documentation sur le débogage des erreurs de chargement d'annonces.
|
onAdImpression() |
La méthode onAdImpression() est appelée lorsqu'une impression est enregistrée pour une annonce.
|
onAdLoaded() |
La méthode onAdLoaded() est exécutée lorsque le chargement d'une annonce est terminé. Si vous souhaitez retarder l'ajout du AdView à votre activité ou fragment jusqu'à ce que vous soyez sûr qu'une annonce sera chargée, par exemple, vous pouvez le faire ici.
|
onAdOpened() |
La méthode onAdOpened() est appelée lorsqu'une annonce ouvre une superposition qui recouvre l'écran.
|
Accélération matérielle pour les annonces vidéo
Pour que des annonces vidéo s'affichent correctement dans vos bannières, vous devez activer l'accélération matérielle.
L'accélération matérielle est activée par défaut, mais certaines applications peuvent choisir de la désactiver. Si cela s'applique à votre application, nous vous recommandons d'activer l'accélération matérielle pour les classes Activity
qui utilisent des annonces.
Activer l'accélération matérielle
Si votre application ne se comporte pas correctement lorsque l'accélération matérielle est activée dans le monde entier, vous pouvez également la contrôler pour chaque activité. Pour activer ou désactiver l'accélération matérielle, vous pouvez utiliser l'attribut android:hardwareAccelerated
pour les éléments <application>
et <activity>
dans votre AndroidManifest.xml
. L'exemple suivant active l'accélération matérielle pour l'ensemble de l'application, mais la désactive pour une activité:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Pour en savoir plus sur les options permettant de contrôler l'accélération matérielle, consultez le guide d'accélération matérielle. Notez que les visionnages d'annonces individuels ne peuvent pas être activés pour l'accélération matérielle si l'activité est désactivée. L'accélération matérielle doit donc être activée pour l'activité elle-même.
Autres ressources
Exemples sur GitHub
Étapes suivantes
Bannières réductibles
Les bannières réductibles sont des bannières qui sont initialement présentées sous la forme d'une superposition plus grande, avec un bouton permettant de réduire l'annonce. Pensez à l'utiliser pour optimiser davantage vos performances. Pour en savoir plus, consultez Bannières réductibles.
Bannières adaptatives intégrées
Les bannières adaptatives intégrées sont plus grandes et plus grandes que les bannières adaptatives ancrées. Ils sont de hauteur variable et peuvent être aussi hauts que l'écran de l'appareil. Les bannières adaptatives intégrées sont recommandées plutôt que les bannières adaptatives ancrées pour les applications qui affichent des bannières dans du contenu à faire défiler. Pour en savoir plus, consultez la section Bannières adaptatives intégrées.