L'intégration du SDK Google Mobile Ads à une application est la première étape pour diffuser des annonces et générer des revenus. Une fois le SDK intégré, vous pouvez implémenter un ou plusieurs des formats d'annonces compatibles.
Prérequis
- Utilisez Xcode 14.1 ou une version ultérieure
- Cibler iOS 11.0 ou version ultérieure
Importer le SDK Mobile Ads
CocoaPods (recommandé)
Le moyen le plus simple d'importer le SDK dans un projet iOS consiste à utiliser CocoaPods. Ouvrez le fichier Podfile de votre projet et ajoutez la ligne suivante à la cible de votre application:
pod 'Google-Mobile-Ads-SDK'
Ensuite, exécutez la commande suivante:
pod install --repo-update
Si vous découvrez CocoaPods, consultez la documentation officielle pour découvrir comment créer et utiliser des fichiers Podfile.
Gestionnaire de packages Swift
Le SDK Google Mobile Ads est compatible avec Swift Package Manager à partir de la version 9.0.0. Suivez la procédure ci-dessous pour importer le package Swift.
Dans Xcode, installez le package Swift de 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 Google Mobile Ads Swift Package:
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 la version majeure suivante.
Une fois cette étape terminée, Xcode commence à résoudre les dépendances de package et à les télécharger en arrière-plan. Pour savoir comment ajouter des 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 d'association
-ObjC
à 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 la valeur de chaîneAd Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
.Une clé
SKAdNetworkItems
avec des valeursSKAdNetworkIdentifier
pour Google (cstr6suwn9.skadnetwork
) et sélectionner des 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>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>3sh42y64q3.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>prcb7njmu6.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>9rd848q2bz.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>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>av6w8kgt66.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>424m5254lk.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>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>gta9lk7p23.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>
Pour des performances d'initialisation optimales, il est important d'associer vos groupes de rendement aux applications spécifiques dans lesquelles ils sont utilisés. Les configurations de groupe de rendement ciblant iOS et non associées à une application spécifique seront envoyées à toutes les applications iOS de votre compte, ce qui allongera potentiellement le temps nécessaire à l'initialisation.
Initialiser le SDK Mobile Ads
Avant de charger des annonces, appelez la méthode startWithCompletionHandler:
sur GADMobileAds.sharedInstance
, qui initialise le SDK et rappelle un gestionnaire de fin une fois l'initialisation terminée (ou après un délai de 30 secondes). Cette opération ne doit être effectuée 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 AppDelegate
:
Exemple 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, vous pouvez attendre que le gestionnaire d'achèvement soit appelé avant de charger les annonces, afin de vous assurer 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é. Vous êtes prêt à intégrer une annonce. Ad Manager propose plusieurs formats d'annonces différents, pour que vous puissiez 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 lorsque les utilisateurs interagissent avec l'application. Elles peuvent s'actualiser automatiquement au bout d'un certain temps. Si vous faites vos premiers pas dans la publicité mobile, c'est un bon point de départ.
Interstitiel
Annonces en plein écran qui couvrent l'interface d'une application jusqu'à ce qu'elles soient fermées par l'utilisateur. Ils sont particulièrement adaptés à des pauses naturelles dans le flux d'exécution d'une application, par exemple entre deux niveaux d'un jeu ou juste après la fin d'une tâche.
Natif
Annonces personnalisables qui correspondent à l'apparence de votre application. Vous choisissez où et comment les afficher pour mieux adapter leur mise en page à la conception de celle-ci.
Google Ad Manager propose deux méthodes pour intégrer des annonces natives: les styles natifs et l'affichage personnalisé.
Les styles natifs ont été conçus pour faciliter au maximum l'implémentation des annonces natives. C'est un excellent choix si vous débutez avec ce format. L'affichage personnalisé a été conçu pour vous offrir une plus grande liberté de création des présentations.
Implémenter des styles natifs | Implémenter l'affichage personnalisé |
Accordé
Annonces qui récompensent les utilisateurs pour avoir regardé des vidéos courtes, et interagi avec des annonces jouables et des enquêtes. Utile pour monétiser les jeux sans frais.
Implémenter des annonces avec récompense | Implémenter des annonces avec récompense (nouvelles API) |