Jetzt starten

Dieser Leitfaden richtet sich an Publisher, die eine iOS-App mit AdMob monetarisieren möchten und Firebase nicht verwenden. Wenn Sie Firebase in Ihre App aufnehmen möchten oder dies erwägen, lesen Sie stattdessen die Version von AdMob mit Firebase in dieser Anleitung.

Die Integration des Google Mobile Ads SDK in eine App ist der erste Schritt, um Anzeigen auszuliefern und Umsätze zu erzielen. Nachdem du das SDK integriert hast, kannst du mit der Implementierung eines oder mehrerer der unterstützten Anzeigenformate fortfahren.

Voraussetzungen

  • Xcode 13.2.1 oder höher verwenden
  • Ausrichtung auf iOS 10.0 oder höher

Mobile Ads SDK importieren

CocoaPods (bevorzugt)

Am einfachsten lässt sich das SDK mit CocoaPods in ein iOS-Projekt importieren. Öffnen Sie die Podfile-Datei Ihres Projekts und fügen Sie diese Zeile in das Ziel Ihrer Anwendung ein:

pod 'Google-Mobile-Ads-SDK'

Führen Sie dann in der Befehlszeile folgenden Befehl aus:

pod install --repo-update

Wenn Sie CocoaPods noch nicht kennen, finden Sie in der offiziellen Dokumentation Informationen zum Erstellen und Verwenden von Podfiles.

Swift-Paketmanager

Das Google Mobile Ads SDK unterstützt den Swift Package Manager ab Version 9.0.0. Führen Sie die folgenden Schritte aus, um das Swift-Paket zu importieren.

  1. Installieren Sie in Xcode das Google Mobile Ads Swift-Paket, indem Sie auf File > Add Packages... (Datei > Pakete hinzufügen...) klicken.

  2. Suchen Sie in der angezeigten Eingabeaufforderung nach dem GitHub-Repository des Google Mobile Ads Swift-Pakets:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Wählen Sie die Version des Google Mobile Ads Swift-Pakets aus, das Sie verwenden möchten. Für neue Projekte empfehlen wir die Verwendung der bis zur nächsten Hauptversion.

Wenn Sie fertig sind, löst Xcode die Paketabhängigkeiten auf und lädt sie im Hintergrund herunter. Weitere Informationen zum Hinzufügen von Paketabhängigkeiten findest du im Artikel von Apple.

Manueller Download

  1. Laden Sie das SDK-Framework direkt herunter und entpacken Sie es und importieren Sie die folgenden Frameworks in Ihr Xcode-Projekt:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Fügen Sie das Flag -ObjC-Verknüpfung in den Build-Einstellungen Ihres Projekts zu Other Linker Flags hinzu:

Info.plist aktualisieren

Aktualisieren Sie die Datei Info.plist Ihrer App, um zwei Schlüssel hinzuzufügen:

  1. Ein GADApplicationIdentifier-Schlüssel mit einem Stringwert IhrerAdMob App-ID (in derAdMob -UI identifiziert).
  2. Einen SKAdNetworkItems-Schlüssel mit SKAdNetworkIdentifier-Werten für Google (cstr6suwn9.skadnetwork) und zusätzliche Käufer auswählen, die diese Werte für Google angegeben haben
<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>

Falls Sie noch kein AdMob-Konto erstellt und noch keine App registriert haben, sollten Sie das jetzt nachholen.

Mobile Ads SDK initialisieren

Bevor Sie Anzeigen laden, rufen Sie die Methode startWithCompletionHandler: für GADMobileAds.sharedInstance auf. Damit wird das SDK initialisiert und ein Abschluss-Handler nach Abschluss der Initialisierung oder nach einem 30-sekündigen Zeitlimit aufgerufen. Dies muss nur einmal durchgeführt werden, idealerweise beim Start der App. Rufen Sie startWithCompletionHandler: so früh wie möglich auf.

Hier ein Beispiel für den Aufruf der Methode startWithCompletionHandler: in deiner AppDelegate:

Beispiel für AppDelegate.m (Auszug)

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

Wenn Sie die Vermittlung nutzen, sollten Sie warten, bis der Abschluss-Handler aufgerufen wurde, bevor die Anzeigen geladen werden. So wird sichergestellt, dass alle Vermittlungsadapter initialisiert werden.

Anzeigenformat auswählen

Das Mobile Ads SDK wird nun importiert und initialisiert. Sie können nun eine Anzeige implementieren. AdMob Sie haben dabei die Wahl zwischen verschiedenen Anzeigenformaten. Sie können das Format auswählen, das am besten zu Ihrer App passt.

Rechteckige Anzeigen, die oben oder unten auf dem Bildschirm erscheinen. Banneranzeigen bleiben auf dem Bildschirm, während Nutzer mit der App interagieren, und können nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch keine Erfahrung mit mobiler Werbung haben, ist das ein guter Ausgangspunkt.

Banner implementieren

Interstitial

Vollbildanzeigen, die die Benutzeroberfläche einer App verdecken, bis sie vom Nutzer geschlossen werden Sie eignen sich am besten für natürliche Pausen während des Ablaufs einer App, z. B. zwischen Levels oder kurz nachdem eine Aufgabe abgeschlossen ist.

Interstitials implementieren

Nativ

Anpassbare Anzeigen, die zum Design Ihrer App passen. Sie entscheiden, wie und wo sie platziert werden. So passt das Layout besser zum Design Ihrer App.

Implementieren Native Ads

Verfügbar

Anzeigen, in denen Nutzer für das Ansehen kurzer Videos und die Interaktion mit spielbaren Anzeigen und Umfragen belohnt werden. Geeignet zum Monetarisieren kostenloser Spiele.

Anzeigen mit Prämie implementieren Anzeigen mit Prämie implementieren (neue APIs)