Commencer

La première étape pour diffuser des annonces et générer des revenus consiste à intégrer le SDK Google Mobile Ads à une application. Une fois le SDK intégré, vous pouvez implémenter un ou plusieurs des formats d'annonces compatibles.

Conditions préalables

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

Importer le SDK Mobile Ads

Importez le SDK Google Mobile Ads à l'aide de l'une des méthodes suivantes.

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 cette ligne à la cible de votre application :

pod 'Google-Mobile-Ads-SDK'

Ensuite, exécutez la commande suivante à partir de la ligne de commande :

pod install --repo-update

Si vous ne connaissez pas CocoaPods, consultez la documentation officielle pour savoir comment créer et utiliser des fichiers Podfile.

Swift Package Manager

Le SDK Google Mobile Ads est compatible avec le gestionnaire de packages Swift à partir de la version 9.0.0. Pour importer le package Swift, procédez comme suit :

  1. Dans Xcode, installez le package Swift 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 Swift Google Mobile Ads :

    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 l'option Jusqu'à la prochaine version majeure.

Une fois que vous avez terminé, Xcode commence à résoudre les dépendances de vos packages et à les télécharger en arrière-plan. Pour en savoir plus sur l'ajout de dépendances de paquets, 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. Dans les paramètres de compilation de votre projet :

    • Ajoutez le chemin d'accès /usr/lib/swift aux Chemins de recherche du chemin d'exécution.
    • 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

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

  1. Une clé GADApplicationIdentifier avec une valeur de chaîne de votreAd Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Clé SKAdNetworkItems avec des valeurs SKAdNetworkIdentifier pour Google (cstr6suwn9.skadnetwork) et pour 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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>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 groupes de rendement ciblant iOS et non associées à une application spécifique seront envoyées à toutes les applications iOS de votre compte, ce qui peut prolonger le temps d'initialisation.

Dans une application réelle, remplacez l'exemple d'ID d'application par votre ID d'applicationAd Manager réel. 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 des 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 de 30 secondes). Cette opération ne doit être effectuée qu'une seule fois, idéalement au démarrage 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 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 donc implémenter une annonce. Ad Manager propose plusieurs formats d'annonces différents. Vous pouvez donc choisir celui qui convient le mieux à l'expérience utilisateur de votre application.

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

Les blocs d'annonces de type bannière affichent des annonces rectangulaires qui occupent une partie de la mise en page d'une application. Elles peuvent s'actualiser automatiquement après un certain délai. Cela signifie que les utilisateurs verront une nouvelle annonce à intervalles réguliers, même s'ils restent sur le même écran dans votre application. Il s'agit également du format d'annonce le plus facile à implémenter.

Implémenter des bannières

Interstitiel

Les blocs d'annonces interstitielles diffusent des annonces pleine page dans votre application. Placez-les 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.

Implémenter des annonces interstitielles

Natif

Les annonces natives vous permettent de personnaliser la façon dont les composants tels que les titres et les incitations à l'action sont présentés dans vos applications. En créant vous-même le style de l'annonce, vous pouvez créer des présentations d'annonces naturelles et non intrusives qui peuvent enrichir l'expérience utilisateur.

Google Ad Manager propose deux façons d'implémenter des annonces natives : les styles natifs et les annonces natives standards via l'affichage personnalisé.

Les styles natifs ont été conçus pour simplifier l'implémentation des annonces natives. C'est un excellent choix si vous ne connaissez pas ce format. L'affichage personnalisé a été conçu pour maximiser votre liberté de création de présentations.

Implémenter des styles natifs Implémenter des annonces natives (affichage personnalisé)

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, telles que des pièces, des vies supplémentaires ou des points. Vous pouvez définir différentes récompenses pour les blocs d'annonces, et indiquer leur valeur et leur nature.

Implémenter des annonces avec récompense

Interstitiel avec récompense

L'interstitiel avec récompense est un nouveau type de format incitatif qui vous permet de proposer des récompenses (comme des pièces de monnaie ou des vies supplémentaires) pour les annonces diffusées automatiquement aux points de transition naturels dans votre application.

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

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

Implémenter des annonces interstitielles avec récompense

Annonce à l'ouverture

Les annonces à l'ouverture sont des annonces qui s'affichent lorsque les utilisateurs ouvrent votre application ou y reviennent. L'annonce se superpose sur l'écran de chargement.

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