Ce guide est destiné aux éditeurs qui souhaitent monétiser une application iOS avec AdMob et qui n'utilisent pas Firebase. Si vous prévoyez d'inclure Firebase dans votre application (ou si vous envisagez de le faire), consultez plutôt la version AdMob avec Firebase de ce guide.
Pour diffuser des annonces et générer des revenus, vous devez d'abord intégrer le SDK Google Mobile Ads dans une application. Une fois le SDK intégré, vous pouvez implémenter un ou plusieurs formats d'annonces compatibles.
Conditions préalables
- Utiliser Xcode 14.1 ou version ultérieure
- Cibler iOS 11.0 ou version ultérieure
- Recommandation : créez un compte AdMob et enregistrez une application.
Importer le SDK Mobile Ads
CocoaPods (à privilégier)
Le moyen le plus simple d'importer le SDK dans un projet iOS consiste à utiliser CocoaPods. Ouvrez le Podfile de votre projet et ajoutez cette ligne à la cible de votre application:
pod 'Google-Mobile-Ads-SDK'
Ensuite, à partir de la ligne de commande, exécutez la commande suivante:
pod install --repo-update
Si vous débutez avec CocoaPods, consultez la documentation officielle pour en savoir plus sur la création et l'utilisation de fichiers Podfiles.
Gestionnaire de packages Swift
Le SDK Google Mobile Ads est compatible avec Swift Package Manager à partir de la version 9.0.0. Suivez les étapes ci-dessous pour importer le package Swift.
Dans Xcode, installez le package Swift Google Mobile Ads en accédant à File > Add Packages (Fichier > Ajouter des packages).
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.git
Sélectionnez la version du package Swift Google Mobile Ads que vous souhaitez utiliser. Pour les nouveaux projets, nous vous recommandons d'utiliser Up to Next Major Version (À la prochaine version majeure).
Une fois que vous avez terminé, Xcode commence à résoudre les dépendances de vos packages et les télécharge en arrière-plan. Pour en savoir plus sur l'ajout de dépendances de packages, consultez l'article d'Apple.
Téléchargement manuel
Téléchargez et décompressez directement le framework du SDK, puis importez les frameworks suivants dans votre projet Xcode:
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
Ajoutez l'indicateur
-ObjC
de l'éditeur de liens à Other Linker Flags dans les paramètres de compilation de votre projet:
Mettre à jour votre fichier Info.plist
Mettez à jour le fichier Info.plist
de votre application pour ajouter deux clés:
Une clé
GADApplicationIdentifier
avec une valeur de chaîne de votreAdMob app ID found in the AdMob UIUne clé
SKAdNetworkItems
avec des valeursSKAdNetworkIdentifier
pour Google (cstr6suwn9.skadnetwork
) et certains acheteurs tiers qui ont fourni ces valeurs à Google.
Extrait complet
<key>GADApplicationIdentifier</key> <string>ca-app-pub-3940256099942544~1458002511</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>4pfyvq9l8r.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>5a6flpkh64.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>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>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.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>n6fk4nfna4.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>eh6m2bh4zr.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>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>ecpz2srf59.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>pwa73g5rt2.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.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>e5fvkxwrpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8c4e2ghe7u.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>zq492l623r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Si vous n'avez pas encore créé de compte AdMob ni enregistré une application, le moment est venu de le faire.
Initialiser le SDK Mobile Ads
Avant de charger les annonces, appelez la méthode startWithCompletionHandler:
sur GADMobileAds.sharedInstance
, qui initialise le SDK et appelle un gestionnaire d'achèvement une fois l'initialisation terminée (ou après un délai d'inactivité de 30 secondes). Cette opération n'est nécessaire qu'une seule fois, idéalement au lancement de l'application. Vous devez appeler startWithCompletionHandler:
le plus tôt possible.
Voici un exemple d'appel de la méthode startWithCompletionHandler:
dans votre AppDelegate
:
Exemple de fichier AppDelegate.m (extrait)
Swift
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Objective-C
@import GoogleMobileAds; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GADMobileAds.sharedInstance startWithCompletionHandler:nil]; return YES; } @end
Si vous utilisez la médiation, nous vous conseillons d'attendre que le gestionnaire d'achèvement soit appelé avant de charger les annonces. Cela garantit que tous les adaptateurs de médiation sont initialisés.
Sélectionnez un format d'annonce
Le SDK Mobile Ads est maintenant importé et initialisé, et vous êtes prêt à implémenter une annonce. AdMob propose différents formats d'annonces. Vous pouvez donc choisir celui qui correspond le mieux à l'expérience utilisateur de votre application.
Bannière
Annonces rectangulaires qui s'affichent en haut ou en bas de l'écran de l'appareil. Les bannières restent à l'écran pendant que les utilisateurs interagissent avec l'application et peuvent s'actualiser automatiquement au bout d'un certain temps. Si vous débutez dans la publicité mobile, c'est un excellent point de départ.
Interstitiel
Annonces plein écran qui recouvrent l'interface d'une application jusqu'à ce qu'elles soient fermées par l'utilisateur. Elles sont idéales lors de pauses naturelles dans le flux d'exécution d'une application, par exemple entre les niveaux d'un jeu ou juste après la fin d'une tâche.
Mettre en œuvre un interstitiel
Natif
Annonces personnalisables qui s'adaptent à l'apparence de votre application. Vous choisissez où et comment les placer, afin que leur mise en page soit plus cohérente avec l'interface de votre application.
Accordé
Annonces qui récompensent les utilisateurs lorsqu'ils regardent des vidéos courtes et interagissent avec des annonces jouables et des enquêtes. Idéal pour monétiser les jeux sans frais.
Implémenter des annonces avec récompense | Implémenter les annonces avec récompense (nouvelles API) |