Erste Schritte

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

Die Einbindung des Google Mobile Ads SDK in eine App ist der erste Schritt, um Anzeigen auszuliefern und Umsatz zu erzielen. Nach der Integration des SDKs können Sie eines oder mehrere der unterstützten Anzeigenformate implementieren.

Voraussetzungen

  • Verwenden Sie Xcode 15.3 oder höher.
  • Ausrichtung auf iOS 12.0 oder höher

Mobile Ads SDK importieren

Verwenden Sie eine der folgenden Methoden, um das Google Mobile Ads SDK zu importieren.

CocoaPods (bevorzugt)

Die einfachste Möglichkeit, das SDK in ein iOS-Projekt zu importieren, ist die Verwendung von CocoaPods. Ö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 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. So importieren Sie das Swift-Paket:

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

  2. Suchen Sie in der angezeigten Eingabeaufforderung nach dem GitHub-Repository für das Google Mobile Ads Swift Package:

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

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

Manueller Download

  1. Laden Sie das Google Mobile Ads SDK herunter und Embed & Sign Sie die folgenden Frameworks in Ihr Xcode-Projekt:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Fügen Sie in den Build-Einstellungen des Projekts unter Other Linker Flags das Verknüpfungs-Flag -ObjC hinzu:

Info.plist aktualisieren

Fügen Sie der Datei Info.plist Ihrer App zwei Schlüssel hinzu:

  1. Einen GADApplicationIdentifier-Schlüssel mit einem Stringwert vonAdMob app ID found in the AdMob UI.

  2. Einen SKAdNetworkItems-Schlüssel mit SKAdNetworkIdentifier-Werten für Google (cstr6suwn9.skadnetwork) und ausgewählte Drittanbieterkäufer, 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>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>

Wenn Sie noch kein AdMob-Konto erstellt und eine App registriert haben, ist jetzt ein guter Zeitpunkt, dies zu tun.

In einer echten App ersetzen Sie die Beispiel-App-ID durch Ihre tatsächlicheAdMob App-ID. Sie können die Beispiel-ID verwenden, wenn Sie nur mit dem SDK in einer Hello World-App experimentieren.

Mobile Ads SDK initialisieren

Bevor Sie Anzeigen laden, rufen Sie die Methode startWithCompletionHandler: auf der GADMobileAds.sharedInstance auf. Dadurch wird das SDK initialisiert und nach Abschluss der Initialisierung (oder nach einer Zeitüberschreitung von 30 Sekunden) wird ein Abschluss-Handler zurückgegeben. 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 AppDelegate:

Beispiel für AppDelegate (Auszug)

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

Anzeigenformat auswählen

Das Mobile Ads SDK wurde importiert und initialisiert. Jetzt können Sie eine Anzeige implementieren. AdMob bietet eine Reihe verschiedener Anzeigenformate, mit denen Sie dasjenige auswählen können, das am besten zur Nutzererfahrung Ihrer App passt.

SwiftUI-Entwickler folgen unserem SwiftUI-Leitfaden.

Banneranzeigenblöcke enthalten rechteckige Anzeigen, die einen Teil der App-Oberfläche einnehmen. Sie können nach einer bestimmten Zeit automatisch aktualisiert werden. Das bedeutet, dass Nutzer in regelmäßigen Abständen eine neue Anzeige sehen, auch wenn sie auf demselben Bildschirm in Ihrer App zu sehen sind. Dieses Anzeigenformat ist am einfachsten zu implementieren.

Banneranzeigen implementieren

Interstitial

Mit Interstitial-Anzeigenblöcken werden ganzseitige Anzeigen in Ihrer App bereitgestellt. Platzieren Sie sie an natürlichen Unterbrechungs- oder Übergangspunkten in der Benutzeroberfläche Ihrer App, beispielsweise nach Abschluss eines Levels in einer Gaming-App.

Interstitial-Anzeigen implementieren

Ich bin Muttersprachler

Bei nativen Anzeigen können Sie die Darstellung von Assets wie Anzeigentiteln und Calls-to-Action in Ihren Apps anpassen. Indem Sie die Anzeige selbst gestalten, können Sie eine natürliche, unaufdringliche Anzeigenpräsentation erstellen, die die Nutzererfahrung verbessert.

Native Anzeigen implementieren

Verfügbar

Mit Anzeigenblöcken mit Prämie können Nutzer Spiele spielen, an Umfragen teilnehmen oder sich Videos ansehen, um In-App-Prämien wie Münzen, Extraleben oder Punkte zu erhalten. Sie können verschiedene Prämien für verschiedene Anzeigenblöcke festlegen und angeben, welche Prämienwerte und Artikel der Nutzer erhalten hat.

Anzeigen mit Prämie implementieren

Interstitial mit Prämie

Interstitial-Anzeigen mit Prämie sind ein neues Anzeigenformat, bei dem Sie Nutzern Anreize wie Münzen oder Extraleben bieten können.

Im Gegensatz zu Anzeigen mit Prämie müssen Nutzer der Wiedergabe von Interstitials mit Prämie nicht zustimmen.

Anstelle der Aufforderung zur Aktivierung in Anzeigen mit Prämie ist bei Interstitials mit Prämie ein Eingangsbildschirm erforderlich, auf dem die Prämie angekündigt wird und Nutzer die Möglichkeit haben, die Anzeige zu deaktivieren, wenn sie das möchten.

Interstitial-Anzeigen mit Prämie implementieren

App-Start-Anzeige

App-Start-Anzeigen sind ein Anzeigenformat, das eingeblendet wird, wenn Nutzer die App öffnen oder zu ihr zurückkehren. Die Anzeige überlagert den Ladebildschirm.

App-Start-Anzeigen implementieren