Partagez vos commentaires et contribuez à l'élaboration de la feuille de route du SDK Google Mobile Ads. Répondez à l'enquête annuelle sur le SDK Google Mobile Ads 2023 avant sa fermeture le 5 mai 2023.

Commencer

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Ce guide est destiné aux éditeurs qui souhaitent monétiser une application iOS avec AdMob et qui n'utilisent pas Firebase. Si vous envisagez d'inclure Firebase dans votre application (ou si vous envisagez de l'utiliser), consultez plutôt la version AdMob avec Firebase de ce guide.

L'intégration du SDK Google Mobile Ads dans 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 mettre en œuvre un ou plusieurs des formats d'annonces compatibles.

Conditions préalables

  • Utilisez Xcode 13.2.1 ou une version ultérieure
  • Cibler iOS 10.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, à partir de la ligne de commande:

pod install --repo-update

Si vous ne connaissez pas CocoaPods, consultez leur documentation officielle pour en savoir plus sur la création et l'utilisation de Podfiles.

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.

  1. Dans Xcode, installez le package Swift de Google Mobile Ads en accédant à File > Add Packages... (Fichier > Ajouter des packages).

  2. Dans l'invite qui s'affiche, recherchez le dépôt GitHub du package Google Mobile Ads Swift:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. 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 que vous avez terminé, Xcode commence à résoudre les dépendances de votre package et à les télécharger 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

  1. Téléchargez et décompressez le framework du SDK directement, puis importez les frameworks suivants dans votre projet Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Ajoutez l'option Linker -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:

  1. Une clé GADApplicationIdentifier ayant la valeur de chaîneAdMob app ID found in the AdMob UI.

  2. Une clé SKAdNetworkItems avec des valeurs SKAdNetworkIdentifier 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>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>

Si vous n'avez pas encore créé de compte AdMob et 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 rappelle un gestionnaire d'achèvement une fois l'initialisation terminée (ou après un délai d'expiration 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 votre 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. Ainsi, tous les adaptateurs de médiation seront 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. AdMob Il existe différents formats d'annonces. Vous pouvez donc choisir celui qui convient le mieux à l'expérience utilisateur de votre application.

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 et peuvent s'actualiser automatiquement après un certain temps. Si vous découvrez la publicité mobile, c'est un bon point de départ.

Ajouter une bannière

Interstitiel

Annonces en plein écran qui couvrent l'interface d'une application jusqu'à sa fermeture par l'utilisateur. Elles sont particulièrement adaptées aux 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.

Ajouter un interstitiel

Natif

Ces annonces personnalisables reprennent le style de votre application. Vous décidez où et comment elles sont placées afin que la mise en page soit plus cohérente avec le design de votre application.

Implémenter Native Ads

Accordé

Annonces qui récompensent les utilisateurs lorsqu'ils regardent de courtes vidéos, 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)