Pour diffuser des annonces et générer des revenus, intégrez Google Mobile Ads SDK for React Native à votre application React Native. Ce guide explique comment installer et initialiser Google Mobile Ads SDK for React Native, et comment sélectionner un format d'annonce.
Prérequis
Avant de continuer, procurez-vous les éléments suivants :
- React Native 0.85.0 ou version ultérieure.
- Un compte AdMob et un ID d'application. Pour obtenir un ID d'application, consultez Configurer une application dans AdMob.
Les éléments Android suivants :
- Niveau d'API Android 24 ou version ultérieure.
- La dernière version d'Android Studio.
- Plug-in Android Gradle (AGP) version 8.0 ou ultérieure.
Les éléments iOS suivants :
- iOS 13.0 ou version ultérieure.
- Xcode version 16.0 ou ultérieure, avec les outils de ligne de commande activés.
- CocoaPods
Installer Google Mobile Ads SDK for React Native
Pour installer Google Mobile Ads SDK for React Native, procédez comme suit :
- Téléchargez le dossier
gma-sdk-react-nativedepuis Google Drive. Extrayez l'archive ZIP dans un répertoire distinct en dehors du répertoire de votre projet de travail. Ce processus peut éviter les conflits avec les fichiers de configuration de votre projet.
À la racine de votre projet, créez un répertoire
local_packages/.Dans ce répertoire, copiez le fichier
mobile-ads-0.1.0.tgz:mkdir -p local_packages cp EXTRACT_DIR/gma-sdk-react-native/google-mobile-ads/mobile-ads-0.1.0.tgz local_packages/Remplacez EXTRACT_DIR par le chemin d'accès au répertoire dans lequel vous avez extrait l'archive.
Installez le package avec le gestionnaire de packages de votre choix :
npm
npm install ./local_packages/mobile-ads-0.1.0.tgzfil
yarn add ./local_packages/mobile-ads-0.1.0.tgz
Configurer votre application
Pour configurer votre application avec des dépendances de plate-forme, ajoutez vos ID d'application AdMob au fichier app.json de la racine de votre projet.
Pour les tests, utilisez les exemples d'ID d'application AdMob présentés dans l'exemple suivant :
{
"name": "APP_NAME",
"displayName": "APP_NAME",
"googleMobileAds": {
"android_app_id": "ca-app-pub-3940256099942544~3347511713",
"ios_app_id": "ca-app-pub-3940256099942544~1458002511"
}
}
Lors de la compilation, Google Mobile Ads SDK for React Native ajoute la propriété android_app_id au fichier AndroidManifest.xml et la propriété ios_app_id à votre fichier Info.plist compilé en tant que clé GADApplicationIdentifier.
Pour connaître les options spécifiques à une plate-forme ou pour effectuer une configuration manuelle, sélectionnez l'une des plates-formes suivantes :
Android
Si vous gérez plusieurs configurations de compilation ou si vous intégrez React Native à une application Android existante, ajoutez votre ID d'application AdMob dans l'élément <application> du fichier AndroidManifest.xml de votre projet au lieu du fichier app.json :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="SAMPLE_APP_ID"
tools:replace="android:value"/>
</application>
</manifest>
Gradle résout automatiquement les dépendances Android au moment de la compilation.
iOS
Procédez comme suit :
Installez les dépendances CocoaPods à partir du répertoire
ios/de votre projet :pod install --repo-updateVous pouvez également installer les dépendances CocoaPods à partir du répertoire racine de votre projet :
npx pod-installL'association automatique CocoaPods configure le script de phase de compilation Xcode qui ajoute la propriété
ios_app_iddu fichierapp.jsondans votre fichierInfo.plistcompilé.Dans le fichier
Info.plistde votre application, ajoutez une cléSKAdNetworkItemsdans l'élément<dict>pour Googlecstr6suwn9.skadnetworket sélectionnez des acheteurs tiers.L'exemple suivant montre un fichier
Info.plistcomplet contenant le tableauSKAdNetworkItemsrequis :Exemple complet
<key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4fzdc2evr5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2fnua5tdw4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ydx93a7ass.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>p78axxw29g.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v72qych5uu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ludvb6z3bs.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>cp8zw746q7.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3sh42y64q3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c6k4g5qg8m.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>s39g8k73mm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wg4vff78zm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qy4746246.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>f38h382jlk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>hs6bdukanm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>su67r6k2v3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>yclnxrl5pm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>t38b2kh725.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>7ug5zh24hu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>gta9lk7p23.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>vutu7akeur.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>y5ghdn5j9k.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v9wttpbfk9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n38lu8286q.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>47vhws6wlr.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbd757ywx3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>9t245vhmpl.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>a2p9lx4jpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>22mmun2rn5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>44jx6755aq.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>k674qkevps.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4468km3ulz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2u9pt9hc89.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8s468mfl3y.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>klf5c3l5u5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ppxm28t8ap.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbmxgpxpgc.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>578prtvx9j.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4dzt52r2t5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>tl55sbb4fm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c3frkrj4fj.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>e5fvkxwrpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8c4e2ghe7u.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>97r2b46745.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Initialiser Google Mobile Ads SDK for React Native
Avant de charger des annonces, appelez la méthode initialize pour initialiser Google Mobile Ads SDK for React Native. Appelez la méthode initialize une fois au lancement de l'application, par exemple dans votre composant racine App.tsx.
L'exemple suivant initialise Google Mobile Ads SDK for React Native :
import {InitializationStatus, initialize} from '@google/mobile-ads';
import {useEffect, useState} from 'react';
import {Text, View} from 'react-native';
/**
* Root application component demonstrating Google Mobile Ads SDK initialization.
*/
export function App() {
const [isInitialized, setIsInitialized] = useState<boolean>(false);
useEffect(() => {
// Initialize the Google Mobile Ads SDK.
initialize({}, (status: InitializationStatus) => {
console.log('Mobile Ads SDK initialized successfully:', status);
setIsInitialized(true);
});
}, []);
return (
<View>
<Text>
{isInitialized ? 'Mobile Ads SDK Ready' : 'Initializing SDK...'}
</Text>
</View>
);
}
Sélectionnez un format d'annonce
Après avoir initialisé Google Mobile Ads SDK for React Native, vous pouvez implémenter des annonces. AdMob propose les formats d'annonces suivants :
| Format | Description | Documentation |
|---|---|---|
| Annonce à l'ouverture | S'affiche lorsque les utilisateurs ouvrent votre application ou y reviennent, en se superposant à l'écran de chargement ou à l'écran de démarrage. | Configurer des annonces à l'ouverture d'une application |
| Interstitiel | Annonces en plein écran qui recouvrent l'interface de l'application hôte. Elles s'affichent à des moments de transition naturels dans une application, par exemple entre deux activités ou pendant la pause entre deux niveaux de jeu. | Configurer des annonces interstitielles |
| Accordé | Annonces en plein écran qui récompensent les utilisateurs qui regardent des annonces vidéo ou interagissent avec des annonces jouables. | Configurer des annonces avec récompense |
| Interstitiel avec récompense | Format d'annonce incitatif qui vous permet de proposer des récompenses pour les annonces diffusées automatiquement aux points de transition naturels dans votre application. | Configurer des annonces interstitielles avec récompense |