Bannières publicitaires
Les bannières sont des annonces rectangulaires qui occupent une partie de la disposition de l’application. Elles peuvent rester à l’écran pendant que l’utilisateur interagit avec l’application, généralement ancrées en haut ou en bas. Les guides Google sur les bannières pour Android et iOS expliquent ce format.
Appelez cette méthode après l’initialisation et le consentement. Ce plugin dessine la bannière sur l’écran natif (au-dessus de la WebView). Enregistrez les écouteurs avant d’appeler showBanner pour ne pas manquer les premiers événements de chargement et de taille.
import {
AdMob,
AdMobBannerSize,
AdMobRevenueData,
BannerAdOptions,
BannerAdPluginEvents,
BannerAdPosition,
BannerAdSize,
} from '@capacitor-community/admob';
const handles = await Promise.all([
AdMob.addListener(BannerAdPluginEvents.Loaded, () => {
console.log('Banner loaded');
}),
AdMob.addListener(BannerAdPluginEvents.SizeChanged, (size: AdMobBannerSize) => {
console.log('Banner size', size.width, size.height);
// Réservez un espace de size.height dans la disposition ; voir la section suivante.
}),
AdMob.addListener(BannerAdPluginEvents.FailedToLoad, (error) => {
console.error(error);
}),
AdMob.addListener(BannerAdPluginEvents.AdPaid, (data: AdMobRevenueData) => {
// Transmettez les revenus par impression à votre fournisseur d’analytics.
console.log(data);
}),
]);
const options: BannerAdOptions = {
adId: 'YOUR_AD_UNIT_ID',
adSize: BannerAdSize.ADAPTIVE_BANNER,
position: BannerAdPosition.BOTTOM_CENTER,
margin: 0,
// isTesting: true,
// npa: true,
};
await AdMob.showBanner(options);
method showBanner(...)
Affiche une bannière publicitaire.
showBanner(options: BannerAdOptions) => Promise<void>
interface BannerAdOptions
Options d’affichage d’une bannière publicitaire.
Cette interface étend AdOptions.
| Propriété | Type | Description | Valeur par défaut | Depuis |
|---|---|---|---|---|
adSize |
BannerAdSize |
Taille de la bannière à afficher. | ADAPTIVE_BANNER | 3.0.0 |
position |
BannerAdPosition |
Position d’affichage de la bannière. | TOP_CENTER | 1.1.2 |
adId |
string |
Identifiant du bloc d’annonces à charger. | 1.1.2 | |
isTesting |
boolean |
Indique si une annonce de test doit être demandée. | false | 1.1.2 |
margin |
number |
Marge de la bannière en unités logiques d’affichage : dp sur Android et points sur iOS. Pour BOTTOM_CENTER, il s’agit de la marge inférieure. Pour TOP_CENTER, il s’agit de la marge supérieure. |
0 | 1.1.2 |
npa |
boolean |
Indique si des annonces non personnalisées doivent être demandées. | false | 1.2.0 |
immersiveMode |
boolean |
Indique si une annonce plein écran doit être affichée en mode immersif sur Android. | 7.0.3 |
enum BannerAdSize
| Membre | Valeur | Description |
|---|---|---|
BANNER |
'BANNER' |
Format de bannière de la Mobile Marketing Association (MMA) : 320x50 pixels indépendants de la densité. |
FULL_BANNER |
'FULL_BANNER' |
Format de bannière complète de l’Interactive Advertising Bureau (IAB) : 468x60 pixels indépendants de la densité. |
LARGE_BANNER |
'LARGE_BANNER' |
Format de grande bannière : 320x100 pixels indépendants de la densité. |
MEDIUM_RECTANGLE |
'MEDIUM_RECTANGLE' |
Format de rectangle moyen de l’Interactive Advertising Bureau (IAB) : 300x250 pixels indépendants de la densité. |
LEADERBOARD |
'LEADERBOARD' |
Format de grande bannière leaderboard de l’Interactive Advertising Bureau (IAB) : 728x90 pixels indépendants de la densité. |
ADAPTIVE_BANNER |
'ADAPTIVE_BANNER' |
Bannière à taille dynamique, sur toute la largeur et à hauteur automatique. |
SMART_BANNER |
'SMART_BANNER' |
Ancienne bannière intelligente adaptée à la largeur de l’écran. Conservée pour compatibilité ; utilisez ADAPTIVE_BANNER pour les nouvelles intégrations. |
enum BannerAdPosition
| Membre | Valeur | Description |
|---|---|---|
TOP_CENTER |
'TOP_CENTER' |
Positionne la bannière en haut, au centre de l’écran. |
CENTER |
'CENTER' |
Positionne la bannière au centre de l’écran. |
BOTTOM_CENTER |
'BOTTOM_CENTER' |
Positionne la bannière en bas, au centre de l’écran. |
Éviter de masquer le contenu sous la bannière
La bannière est dessinée sur l’écran natif au-dessus de la WebView. La disposition HTML ne s’ajuste pas automatiquement. Réservez dans votre élément racine un espace de size.height (pixels logiques). Utilisez un padding ou une marge en bas pour BOTTOM_CENTER, et en haut pour TOP_CENTER.
<main id="content">Your app</main>
import { AdMob, BannerAdPluginEvents } from '@capacitor-community/admob';
const content = document.getElementById('content');
await AdMob.addListener(BannerAdPluginEvents.SizeChanged, (size) => {
if (!content) {
return;
}
content.style.paddingBottom = size.height > 0 ? `${size.height}px` : '';
});
Lorsque la hauteur vaut 0 (bannière masquée, supprimée ou en échec), supprimez cet espace. Appliquez le même principe à l’élément qui remplit la WebView dans votre framework.
Consultez Tests pour isTesting.
Cycle de vie
hideBanner()masque temporairement la bannière actuelle.resumeBanner()affiche à nouveau une bannière masquée.removeBanner()la détruit. AppelezshowBanner()pour en créer une autre.
method hideBanner()
Masque la bannière actuelle sans la détruire.
hideBanner() => Promise<void>
method resumeBanner()
Affiche une bannière précédemment masquée.
resumeBanner() => Promise<void>
method removeBanner()
Détruit la bannière actuelle et la retire de l’écran.
removeBanner() => Promise<void>
Libérez les handles des écouteurs lorsque l’écran qui les possède est détruit :
for (const handle of handles) {
await handle.remove();
}
await AdMob.removeBanner();
Les revenus par impression d’une bannière sont émis via BannerAdPluginEvents.AdPaid. Les formats plein écran émettent les mêmes données AdMobRevenueData via leur événement AdImpression. Consultez Événements publicitaires.