Configurer le SDK Google Mobile Ads

Sélectionnez une plate-forme : Android iOS Unity Flutter Android (Legacy)

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 :

  1. Ouvrez Xcode.
  2. Accédez à File > Add Package Dependencies... (Fichier > Ajouter des dépendances de package…).
  3. Installez le package Swift Google Mobile Ads SDK.

  4. 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
    
  5. Sé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 :

  1. Ouvrez le fichier Podfile de votre projet et ajoutez cette ligne à la configuration de compilation target de votre application :

    pod 'Google-Mobile-Ads-SDK'
    
  2. 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 :

  1. Ouvrez le fichier Podfile de votre projet et ajoutez un crochet post_install qui définit la cible de déploiement sur 15.0. Si vous avez un bloc post_install, ajoutez la boucle interne à votre bloc existant.

    L'exemple suivant définit la clé IPHONEOS_DEPLOYMENT_TARGET sur 15.0 pour 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
    end
    
  2. Pour 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 :

  1. Télécharger Google Mobile Ads SDK.
  2. Extrayez le package googlemobileadssdkios.zip.
  3. Dans votre projet Xcode, ajoutez les frameworks suivants :

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. Dans les paramètres Général de votre cible, accédez à Frameworks, bibliothèques et contenu intégré.

  5. Vérifiez que vous avez défini GoogleMobileAds.xcframework et UserMessagingPlatform.xcframework sur Intégrer et signer.

  6. 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).

Mettre à jour votre fichier Info.plist

Dans le fichier Info.plist de votre application, ajoutez les clés suivantes :

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