Pour diffuser des annonces et générer des revenus, intégrez Google Mobile Ads SDK à votre application iOS. Pour préparer votre projet, importez et initialisez Google Mobile Ads SDK avant de demander des annonces.
Si vous incluez Firebase dans votre application iOS, consultez Premiers pas avec AdMob dans votre projet iOS.
Ce guide explique comment importer et initialiser Google Mobile Ads SDK, et comment sélectionner un format d'annonce.
Prérequis
Avant de continuer, assurez-vous de disposer des éléments suivants :
- Utilisez Xcode 16.0 ou version ultérieure.
- Ciblez iOS 13.0 ou version ultérieure.
Importer Google Mobile Ads SDK
Pour importer Google Mobile Ads SDK, suivez les instructions de l'une des sections suivantes :
Swift Package Manager (recommandé)
Pour ajouter une dépendance de package à votre projet, procédez comme suit :
- Ouvrez Xcode.
- Accédez à File > Add Package Dependencies... (Fichier > Ajouter des dépendances de package…).
Installez le package Swift Google Mobile Ads SDK.
Dans l'invite qui s'affiche, recherchez le dépôt GitHub du package Swift Google Mobile Ads :
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitSélectionnez la version du package Swift Google Mobile Ads SDK que vous souhaitez utiliser. Pour les nouveaux projets, nous vous recommandons d'utiliser Jusqu'à la prochaine version majeure.
CocoaPods
Pour utiliser CocoaPods, procédez comme suit :
Ouvrez le fichier Podfile de votre projet et ajoutez cette ligne à la configuration de compilation
targetde votre application :pod 'Google-Mobile-Ads-SDK'Dans un terminal, exécutez la commande suivante :
pod install --repo-update
Configurer la cible de déploiement pour Xcode 27
Xcode 27 nécessite une cible de déploiement minimale d'iOS 15.0 pour toutes les cibles. Étant donné que Google Mobile Ads SDK est compatible avec iOS 13.0, les builds Xcode 27 échouent lors de l'utilisation de CocoaPods.
Pour résoudre ce problème :
Ouvrez le fichier
Podfilede votre projet et ajoutez un crochetpost_installqui définit la cible de déploiement sur15.0. Si vous avez un blocpost_install, ajoutez la boucle interne à votre bloc existant.L'exemple suivant définit la clé
IPHONEOS_DEPLOYMENT_TARGETsur15.0pour toutes les cibles de pod :post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' end end endPour réinstaller vos pods, exécutez la commande suivante :
pod install --repo-update
Téléchargement manuel
Pour télécharger manuellement Google Mobile Ads SDK :
- Télécharger Google Mobile Ads SDK.
- Extrayez le package
googlemobileadssdkios.zip. Dans votre projet Xcode, ajoutez les frameworks suivants :
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
Dans les paramètres Général de votre cible, accédez à Frameworks, bibliothèques et contenu intégré.
Vérifiez que vous avez défini
GoogleMobileAds.xcframeworketUserMessagingPlatform.xcframeworksur Intégrer et signer.Dans les paramètres de compilation de votre projet, procédez comme suit :
- Ajoutez le chemin
/usr/lib/swiftà Runpath Search Paths (Chemins de recherche Runpath). - Ajoutez l'indicateur de l'éditeur de liens
-ObjCà Other Linker Flags (Autres indicateurs de l'éditeur de liens).
- Ajoutez le chemin
Mettre à jour votre fichier Info.plist
Dans le fichier Info.plist de votre application, ajoutez les clés suivantes :
Une clé
GADApplicationIdentifieravec la valeur de chaîne de votre ID d'application AdMob. Pour en savoir plus, consultez Trouver et copier un ID d'application ou de bloc d'annonces .Une clé
SKAdNetworkItems. Cette clé inclut les valeursSKAdNetworkIdentifierpourcstr6suwn9.skadnetworkGoogle et certains acheteurs tiers.
Exemple complet
<key>GADApplicationIdentifier</key>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</string>
<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>Remplacez SAMPLE_APP_ID par l'ID de votre application AdMob. Lors des tests, utilisez l'ID d'application exemple indiqué dans l'exemple précédent.
Si vous n'avez pas encore créé de compte AdMob ni enregistré d'application, c'est le moment idéal pour le faire.
Initialiser Google Mobile Ads SDK
Avant de charger les annonces, initialisez Google Mobile Ads SDK en appelant la méthode start() à partir de la propriété GADMobileAds.sharedInstance. Cette méthode appelle un gestionnaire d'achèvement après que les adaptateurs de Google Mobile Ads SDK et de médiation ont terminé le traitement, ou après 30 secondes.
L'exemple suivant initialise Google Mobile Ads SDK :
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
Lors de l'initialisation, Google Mobile Ads SDK peut précharger des annonces ou initialiser des SDK tiers lors de l'appel de la méthode startWithCompletionHandler:. Si vous devez obtenir le consentement des utilisateurs dans l'Espace économique européen (EEE), au Royaume-Uni ou en Suisse, définissez des indicateurs spécifiques à la demande. Si vous devez définir des indicateurs spécifiques à la requête, assurez-vous de le faire avant d'initialiser Google Mobile Ads SDK. Pour en savoir plus, consultez Ciblage.
Sélectionnez un format d'annonce
Une fois que vous avez importé Google Mobile Ads SDK, vous pouvez sélectionner un format d'annonce à implémenter.
AdMob propose les formats d'annonces suivants :
| Format d'annonce | Description | Documentation |
|---|---|---|
| Bannière | Affiche des annonces rectangulaires dans une section de la mise en page de votre application. Cette annonce s'actualise automatiquement à intervalles réguliers. Les utilisateurs voient ces annonces de manière périodique lorsqu'ils restent sur le même écran. | Configurer des bannières |
| Interstitiel | Affiche des annonces pleine page dans votre application. Placez cette annonce lors des pauses ou des points de transition naturels dans l'interface de votre application, comme à la fin d'un niveau s'il s'agit d'une application de jeu. | Annonces interstitielles |
| Natif | Vous permet de personnaliser les composants (titres et incitations à l'action, par exemple) dans vos applications. Lorsque vous personnalisez l'annonce, vous créez des annonces qui correspondent à la conception visuelle de votre application. | Charger une annonce native |
| Accordé | Les utilisateurs obtiennent des récompenses dans l'application, comme des pièces ou des points, en jouant à des jeux, en répondant à des enquêtes ou en regardant des vidéos. Vous pouvez définir des récompenses pour les blocs d'annonces, et indiquer leur valeur et leur nature. | Annonces avec récompense |
| Interstitiel avec récompense | Vous permet de proposer des récompenses (comme des pièces de monnaie ou des vies supplémentaires) pour les annonces diffusées lors des transitions dans votre application. | Annonces interstitielles avec récompense |
| Annonce à l'ouverture | Elles s'affichent lorsque les utilisateurs ouvrent votre application ou y reviennent. L'annonce se superpose à l'écran de chargement. | Annonces à l'ouverture d'une application |