Commencer

Ce guide s'adresse 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 si vous envisagez de le faire), consultez AdMob avec Firebase version de ce guide.

L'intégration du SDK Google Mobile Ads dans une application constitue la première étape vers diffuser des annonces et générer des revenus. Une fois le SDK intégré, vous pouvez procédez à l'implémentation d'un ou de plusieurs formats d'annonces compatibles.

Prérequis

  • Utiliser Xcode 15.3 ou une version ultérieure
  • Cibler iOS 12.0 ou version ultérieure

Importer le SDK Mobile Ads

Utilisez l'une des méthodes suivantes pour importer le SDK Google Mobile Ads.

CocoaPods (à privilégier)

Le moyen le plus simple d'importer le SDK dans un projet iOS consiste à utiliser CocoaPods : Ouverts 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 leurs documentation officielle pour en savoir plus sur la création et l'utilisation de Podfiles.

Gestionnaire de paquets Swift

Le SDK Google Mobile Ads est compatible avec le package Swift Manager à partir de la version 9.0.0. Suivre ces étapes pour importer le package Swift:

  1. Dans Xcode, installez le package Swift Google Mobile Ads en accédant à Fichier > Ajouter des packages...

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

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Sélectionnez la version du package Google Mobile Ads Swift que vous souhaitez utiliser. Pour les nouveaux projets, nous vous recommandons d'utiliser l'option Jusqu'à la prochaine version majeure.

Une fois que vous avez terminé, Xcode commence à résoudre vos dépendances de package et en les téléchargeant en arrière-plan. Pour savoir comment ajouter un package les dépendances, consultez l'article d'Apple.

Téléchargement manuel

  1. Téléchargez le SDK Google Mobile Ads. et Embed & Sign les frameworks suivants dans votre projet Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Ajoutez l'indicateur Linker -ObjC à Other Linker Flags dans le fichier paramètres de compilation:

Mettre à jour votre fichier Info.plist

Mettez à jour le fichier Info.plist de votre application pour ajouter deux clés:

  1. Une clé GADApplicationIdentifier avec une valeur de chaîne correspondant à votre AdMob 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>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 créé de compte AdMob compte et a enregistré un l'application, c'est le moment idéal pour ce faire.

Dans une application réelle, remplacez l'ID de l'application exemple par votre réelle AdMob ID de l'application. Vous pouvez utiliser l'exemple d'ID si vous testez simplement le SDK dans une application Hello World.

Initialiser le SDK Mobile Ads

Avant de charger les annonces, appelez la méthode startWithCompletionHandler: au niveau de GADMobileAds.sharedInstance, qui initialise le SDK et rappelle un gestionnaire d'achèvement l'initialisation est terminée (ou après un délai d'inactivité de 30 secondes). Il suffit que une seule fois, idéalement au lancement de l'application. Vous devriez appeler startWithCompletionHandler: dès que possible.

Voici un exemple d'appel de la méthode startWithCompletionHandler: dans votre AppDelegate:

Exemple d'AppDelegate (extrait)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Sélectionnez un format d'annonce

Le SDK Mobile Ads est maintenant importé et initialisé. Vous pouvez maintenant pour diffuser une annonce. AdMob Elle propose un certain nombre les différents formats d'annonces, ce qui vous permet de choisir celui qui convient le mieux à l'utilisateur expérience.

Pour les développeurs SwiftUI, suivez notre SwiftUI. guide de démarrage.

Les blocs de bannières affichent des annonces rectangulaires qui occupent une partie de l'espace mise en page. Elles peuvent s'actualiser automatiquement après un certain délai. Cela signifie Les utilisateurs voient une nouvelle annonce à intervalles réguliers, même s'ils restent dans votre application. Il s'agit également du format d'annonce le plus simple à mettre en œuvre.

Implémenter des bannières

Interstitiel

Les blocs d'annonces interstitielles affichent des annonces pleine page dans votre application. Positionnez-les à l'endroit des pauses et des transitions dans l'interface de votre application, par exemple à la fin d'un niveau. dans une application de jeu.

Implémenter des annonces interstitielles

Natif

Les annonces natives vous permettent de personnaliser la façon dont vos composants (titres, titres, etc.) des incitations à l'action sont présentées dans vos applications. En appliquant vous-même un style à l'annonce, vous pouvez : Créez des présentations publicitaires naturelles et discrètes qui plairont à un utilisateur riche expérience.

Implémenter des annonces natives

Avec récompense

Les blocs d'annonces avec récompense permettent aux utilisateurs de jouer à des jeux, de répondre à des enquêtes ou de regarder des vidéos pour : gagner des récompenses dans l'application, comme des pièces, des vies supplémentaires ou des points ; Vous pouvez définir différentes récompenses selon les blocs d'annonces, et spécifier leurs valeurs et articles reçus par l'utilisateur.

Implémenter des annonces avec récompense

Interstitiel avec récompense

L'interstitiel avec récompense est un nouveau type de format d'annonce incitatif qui vous permet proposer des récompenses, telles que des pièces ou des vies supplémentaires, pour les annonces diffusées automatiquement ; lors des transitions naturelles de l'application.

Contrairement aux annonces avec récompense, les utilisateurs ne sont pas obligés d'activer la diffusion d'annonces avec récompense interstitiel.

Au lieu de l'invite d'activation dans les annonces avec récompense, les interstitiels avec récompense nécessitent un un écran d'introduction qui annonce la récompense et donne aux utilisateurs la possibilité de la désactiver s'ils elle souhaite le faire.

Implémenter des annonces interstitielles avec récompense

Annonce à l'ouverture

Les annonces à l'ouverture sont des annonces qui s'affichent lorsque les utilisateurs accèdent à votre l'application. L'annonce se superpose à l'écran de chargement.

Implémenter des annonces à l'ouverture d'une application