Jetzt starten

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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 einbinden möchten oder dies beabsichtigen, lesen Sie stattdessen die Anleitung AdMob mit Firebase in dieser Anleitung.

Die Integration des Google Mobile Ads SDK in eine App ist der erste Schritt, um Anzeigen schalten und Einnahmen erzielen zu können. Nachdem du das SDK eingebunden hast, kannst du eines oder mehrere der unterstützten Anzeigenformate implementieren.

Voraussetzungen

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

Mobile Ads SDK importieren

CocoaPods (bevorzugt)

Die einfachste Methode zum Importieren des SDKs in ein iOS-Projekt ist die Verwendung von CocoaPods. Öffnen Sie die Podfile Ihres Projekts und fügen Sie diese Zeile dem Ziel Ihrer Anwendung hinzu:

pod 'Google-Mobile-Ads-SDK'

Führen Sie dann über die Befehlszeile folgenden Befehl aus:

pod install --repo-update

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

Swift-Paketmanager

Das Google Mobile Ads SDK unterstützt 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 Datei > Pakete hinzufügen... auswählen.

  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 nächsten Hauptversion.

Wenn Sie fertig sind, beginnt Xcode damit, die Paketabhängigkeiten aufzulösen und im Hintergrund herunterzuladen. Weitere Informationen zum Hinzufügen von Paketabhängigkeiten finden Sie im Artikel von Apple.

Manueller Download

  1. Laden Sie das SDK-Framework direkt herunter und entpacken Sie es. Importieren Sie dann 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 in den Build-Einstellungen Ihres Projekts das Verknüpfungs-Flag -ObjC unter Other Linker Flags (Andere Verknüpfungs-Flags) ein:

Info.plist aktualisieren

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

  1. Ein GADApplicationIdentifier-Schlüssel mit dem StringwertAdMob app ID found in the AdMob UI.

  2. Einen SKAdNetworkItems-Schlüssel mit SKAdNetworkIdentifier-Werten für Google (cstr6suwn9.skadnetwork) und ausgewählten Drittanbietern, die diese Werte an Google gesendet haben.

Vollständiges Snippet

<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>

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

Mobile Ads SDK initialisieren

Rufen Sie vor dem Laden von Anzeigen die Methode startWithCompletionHandler: für GADMobileAds.sharedInstance auf. Dadurch wird das SDK initialisiert und ein Abschluss-Handler wird nach Abschluss der Initialisierung (oder nach einer Zeitüberschreitung von 30 Sekunden) zurückgerufen. Dies muss nur einmal ausgeführt werden, idealerweise beim Start der App. Sie sollten startWithCompletionHandler: so früh wie möglich aufrufen.

Hier ein Beispiel für den Aufruf der Methode startWithCompletionHandler: in Ihrer 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 mit dem Laden von Anzeigen warten, bis der Abschluss-Handler aufgerufen wird. So wird sichergestellt, dass alle Vermittlungsadapter initialisiert werden.

Anzeigenformat auswählen

Das Mobile Ads SDK wurde jetzt importiert und initialisiert. Sie können nun eine Anzeige implementieren. AdMob Sie haben die Wahl zwischen verschiedenen Anzeigenformaten, damit Sie das für Ihre App am besten geeignete Format auswählen können.

Rechteckige Anzeigen, die oben oder unten auf dem Gerätebildschirm 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 nicht mit mobiler Werbung vertraut sind, ist das ein guter Ausgangspunkt.

Banner implementieren

Interstitial

Vollbildanzeigen, die die Benutzeroberfläche einer App verdecken, bis sie vom Nutzer geschlossen werden Sie werden am besten bei natürlichen Pausen während der Ausführung einer App eingesetzt, z. B. zwischen Levels eines Spiels oder kurz nachdem eine Aufgabe abgeschlossen ist.

Interstitial-Anzeigen implementieren

Nativ

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

Implementieren Native Ads

Verfügbar

Anzeigen, die Nutzer für das Ansehen von kurzen Videos und die Interaktion mit spielbaren Anzeigen und Umfragen belohnen. Geeignet zum Monetarisieren kostenloser Nutzer.

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