Google Mobile Ads SDK einrichten

Wenn Sie Anzeigen ausliefern und Einnahmen erzielen möchten, müssen Sie Google Mobile Ads SDK in Ihre iOS-App einbinden. Zur Vorbereitung Ihres Projekts importieren und initialisieren Sie Google Mobile Ads SDK, bevor Sie Anzeigen anfordern.

Wenn Sie Firebase in Ihre iOS-App einbinden, lesen Sie den Artikel Erste Schritte mit AdMob in Ihrem iOS-Projekt.

In diesem Leitfaden wird beschrieben, wie Sie Google Mobile Ads SDK importieren und initialisieren und ein Anzeigenformat auswählen.

Vorbereitung

Bevor Sie fortfahren, benötigen Sie Folgendes:

  • Verwenden Sie Xcode 16.0 oder höher.
  • iOS 13.0 oder höher als Zielversion

Google Mobile Ads SDK importieren

Führen Sie einen der folgenden Schritte aus, um Google Mobile Ads SDK zu importieren:

Swift Package Manager (empfohlen)

So fügen Sie Ihrem Projekt eine Paketabhängigkeit hinzu:

  1. Öffnen Sie Xcode.
  2. Gehen Sie zu File > Add Package Dependencies….
  3. Installieren Sie das Swift-Paket Google Mobile Ads SDK.

  4. Suchen Sie in der angezeigten Eingabeaufforderung nach dem GitHub-Repository für das Swift-Paket für mobile Anzeigen von Google:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  5. Wählen Sie die Version des Swift-Pakets Google Mobile Ads SDK aus, die Sie verwenden möchten. Für neue Projekte empfehlen wir die Verwendung von Up to Next Major Version.

CocoaPods

So verwenden Sie CocoaPods:

  1. Öffnen Sie das Podfile Ihres Projekts und fügen Sie der target-Build-Konfiguration Ihrer App die folgende Zeile hinzu:

    pod 'Google-Mobile-Ads-SDK'
    
  2. Führen Sie in einem Terminal den folgenden Befehl aus:

    pod install --repo-update

Bereitstellungsziel für Xcode 27 konfigurieren

Xcode 27 erfordert für alle Ziele ein Mindestbereitstellungsziel von iOS 15.0. Da Google Mobile Ads SDK iOS 13.0 unterstützt, schlagen Xcode 27-Builds fehl, wenn CocoaPods verwendet wird.

Führen Sie die folgenden Schritte aus, um das Problem zu beheben:

  1. Öffnen Sie die Podfile-Datei Ihres Projekts und fügen Sie einen post_install-Hook hinzu, der das Bereitstellungsziel auf 15.0 festlegt. Wenn Sie einen post_install-Block haben, fügen Sie die innere Schleife dem vorhandenen Block hinzu.

    Im folgenden Beispiel wird der Schlüssel IPHONEOS_DEPLOYMENT_TARGET für alle Pod-Ziele auf 15.0 gesetzt:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0'
        end
      end
    end
    
  2. Führen Sie den folgenden Befehl aus, um die Pods neu zu installieren:

    pod install --repo-update

Manueller Download

So laden Sie Google Mobile Ads SDK manuell herunter:

  1. Laden Sie herunter Google Mobile Ads SDK.
  2. Extrahieren Sie das Paket googlemobileadssdkios.zip.
  3. Fügen Sie Ihrem Xcode-Projekt die folgenden Frameworks hinzu:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  4. Gehen Sie in den Allgemeinen Einstellungen Ihres Ziels zu Frameworks, Bibliotheken und eingebettete Inhalte.

  5. Prüfen Sie, ob GoogleMobileAds.xcframework und UserMessagingPlatform.xcframework auf Einbetten und signieren festgelegt sind.

  6. Gehen Sie in den Build-Einstellungen Ihres Projekts so vor:

    • Fügen Sie den Pfad /usr/lib/swift zu Runpath Search Paths hinzu.
    • Fügen Sie das Linker-Flag -ObjC zu Other Linker Flags hinzu.

Info.plist-Datei aktualisieren

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

Vollständiges Beispiel

<key>GADApplicationIdentifier</key>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~1458002511 -->
<string>SAMPLE_APP_ID</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>wg4vff78zm.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>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>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>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>44jx6755aq.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>k674qkevps.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>kbmxgpxpgc.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.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>c3frkrj4fj.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>97r2b46745.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Ersetzen Sie SAMPLE_APP_ID durch Ihre AdMob-App-ID. Verwenden Sie beim Testen die Beispiel-App-ID aus dem vorherigen Beispiel.

Wenn Sie noch kein AdMob-Konto erstellt und noch keine App registriert haben, ist jetzt der richtige Zeitpunkt dafür.

Google Mobile Ads SDK initialisieren

Bevor Sie Anzeigen laden, müssen Sie Google Mobile Ads SDK initialisieren. Rufen Sie dazu die Methode start() über das Attribut GADMobileAds.sharedInstance auf. Diese Methode ruft einen Abschluss-Handler auf, nachdem die Verarbeitung durch Google Mobile Ads SDK und die Vermittlungsadapter abgeschlossen ist, oder nach 30 Sekunden.

Im folgenden Beispiel wird Google Mobile Ads SDK initialisiert:

Swift

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

SwiftUI

// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()

Objective-C

// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];

Bei der Initialisierung kann Google Mobile Ads SDK Anzeigen vorab laden oder Drittanbieter-SDKs initialisieren, wenn die Methode startWithCompletionHandler: aufgerufen wird. Wenn Sie die Einwilligung von Nutzern im Europäischen Wirtschaftsraum (EWR), im Vereinigten Königreich oder in der Schweiz einholen müssen, legen Sie anfragespezifische Flags fest. Wenn Sie anfragespezifische Flags festlegen müssen, müssen Sie die Flags vor der Initialisierung von Google Mobile Ads SDK festlegen. Weitere Informationen finden Sie unter Targeting.

Anzeigenformat auswählen

Nachdem Sie Google Mobile Ads SDK importiert haben, können Sie ein Anzeigenformat für die Implementierung auswählen.

AdMob bietet die folgenden Anzeigenformate:

Anzeigenformat Beschreibung Dokumentation
Banner Rechteckige Anzeigen, die in einem Bereich des App-Layouts eingeblendet werden. Diese Anzeige wird in festgelegten Intervallen automatisch aktualisiert. Nutzer sehen diese Anzeigen regelmäßig, wenn sie auf demselben Bildschirm bleiben. Banneranzeigen einrichten
Interstitial Mit diesem Format werden ganzseitige Anzeigen in Ihrer App bereitgestellt. Die Anzeigen sollten an natürlichen Unterbrechungs- oder Übergangspunkten platziert werden, z. B. in einer Gaming-App nach Abschluss eines Levels. Interstitial-Anzeigen
Nativ Sie können Assets wie Überschriften und Calls-to-Action in Ihren Apps anpassen. Wenn Sie die Anzeige anpassen, erstellen Sie Anzeigen, die zum visuellen Design Ihrer App passen. Native Anzeige laden
Verfügbar Nutzer erhalten In-App-Prämien wie Münzen oder Punkte, wenn sie Spiele spielen, an Umfragen teilnehmen oder Videos ansehen. Sie können Prämien für Anzeigenblöcke festlegen und angeben, welche Prämienwerte oder -artikel die Nutzer erhalten. Anzeigen mit Prämie
Interstitial mit Prämie Sie können damit Nutzer, die sich die Werbung ansehen, mit Münzen oder Extraleben belohnen. Interstitial-Anzeigen mit Prämie
App-Start-Anzeige Wird eingeblendet, wenn Nutzer Ihre App öffnen oder zu ihr zurückkehren. Die Anzeige wird als Overlay über dem Ladebildschirm eingeblendet. App-Start-Anzeigen