Wenn Sie Anzeigen ausliefern und Einnahmen erzielen möchten, müssen Sie Google Mobile Ads SDK in Ihre iOS-App einbinden. Dazu importieren und initialisieren Sie Google Mobile Ads SDK, bevor Sie Anzeigen anfordern.
Wenn Sie Firebase in Ihre iOS-App einbinden, lesen Sie den Hilfeartikel 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
Prüfen Sie, ob Sie Folgendes haben:
- Xcode 16.0 oder höher
- iOS 13.0 oder höher
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:
- Öffnen Sie Xcode.
- Gehen Sie zu File > Add Package Dependencies... (Datei > Paketabhängigkeiten hinzufügen…).
Installieren Sie das Google Mobile Ads SDK Swift Package.
Suchen Sie in der Eingabeaufforderung nach dem GitHub-Repository des Google Mobile Ads Swift Package:
https://github.com/googleads/swift-package-manager-google-mobile-ads.gitWählen Sie die Version des Google Mobile Ads SDK Swift Package aus, die Sie verwenden möchten. Für neue Projekte empfehlen wir Up to Next Major Version (Bis zur nächsten Hauptversion).
CocoaPods
So verwenden Sie CocoaPods: Befolgen Sie diese Schritte:
Öffnen Sie die Podfile-Datei Ihres Projekts und fügen Sie der Build-Konfiguration
targetIhrer App diese Zeile hinzu:pod 'Google-Mobile-Ads-SDK'Führen Sie im Terminal den folgenden Befehl aus:
pod install --repo-update
Bereitstellungsziel für Xcode 27 konfigurieren
Für Xcode 27 ist für alle Ziele ein Bereitstellungsziel von mindestens iOS 15.0 erforderlich. 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:
Öffnen Sie die
Podfile-Datei Ihres Projekts und fügen Sie einenpost_install-Hook hinzu, der das Bereitstellungsziel auf15.0festlegt. Wenn Sie einenpost_install-Block haben, fügen Sie die innere Schleife Ihrem vorhandenen Block hinzu.Im folgenden Beispiel wird der Schlüssel
IPHONEOS_DEPLOYMENT_TARGETfür alle Pod-Ziele auf15.0festgelegt: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 endFühren Sie den folgenden Befehl aus, um Ihre Pods neu zu installieren:
pod install --repo-update
Manueller Download
So laden Sie Google Mobile Ads SDK manuell herunter:
- Herunterladen Google Mobile Ads SDK.
- Extrahieren Sie das Paket
googlemobileadssdkios.zip. Fügen Sie Ihrem Xcode-Projekt die folgenden Frameworks hinzu:
GoogleMobileAds.xcframeworkUserMessagingPlatform.xcframework
Gehen Sie in den General-Einstellungen Ihres Ziels zu Frameworks, Libraries, and Embedded Content (Frameworks, Bibliotheken und eingebettete Inhalte).
Prüfen Sie, ob Sie
GoogleMobileAds.xcframeworkundUserMessagingPlatform.xcframeworkauf Embed & Sign (Einbetten und signieren) festgelegt haben.Gehen Sie in den Build-Einstellungen Ihres Projekts so vor:
- Fügen Sie den Pfad
/usr/lib/swiftzu Runpath Search Paths (Suchpfade für Laufzeitpfade) hinzu. - Fügen Sie das Linker-Flag
-ObjCzu Other Linker Flags (Andere Linker-Flags) hinzu.
- Fügen Sie den Pfad
Info.plist-Datei aktualisieren
Fügen Sie der Datei Info.plist Ihrer App die folgenden Schlüssel hinzu:
Einen
GADApplicationIdentifier-Schlüssel mit einem Stringwert Ihrer AdMob-App-ID. Weitere Informationen finden Sie unter App-ID oder Anzeigenblock-ID suchen und kopieren .Einen
SKAdNetworkItems-Schlüssel. Dieser Schlüssel enthältSKAdNetworkIdentifierWerte für Googlecstr6suwn9.skadnetworkund ausgewählte Drittanbieter.
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 im vorherigen Beispiel gezeigte Beispiel-App-ID.
Wenn Sie noch kein AdMob- Konto erstellt und noch keine App registriert haben, ist jetzt ein guter Zeitpunkt dafür.
Google Mobile Ads SDK initialisieren
Bevor Sie Anzeigen laden, initialisieren Sie Google Mobile Ads SDK, indem Sie die Methode start() über die Eigenschaft GADMobileAds.sharedInstance aufrufen. Diese Methode ruft einen Completion-Handler auf, nachdem Google Mobile Ads SDK und
Vermittlungsadapter die Verarbeitung abgeschlossen haben 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 lädt Google Mobile Ads SDK möglicherweise Anzeigen vor oder initialisiert Drittanbieter-
SDKs, wenn die startWithCompletionHandler: Methode 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, tun Sie dies, bevor Sie
das Google Mobile Ads SDK initialisieren
Google Mobile Ads SDK. Weitere Informationen finden Sie unter Targeting.
Anzeigenformat auswählen
Nachdem Sie Google Mobile Ads SDK importiert haben, können Sie ein Anzeigenformat auswählen, das Sie implementieren möchten.
AdMob bietet die folgenden Anzeigenformate:
| Anzeigenformat | Beschreibung | Dokumentation |
|---|---|---|
| Banner | Rechteckige Anzeigen in einem Bereich des App-Layouts. Diese Anzeigen werden in festgelegten Intervallen automatisch aktualisiert. Nutzer sehen diese Anzeigen regelmäßig, wenn sie auf demselben Bildschirm bleiben. | Banneranzeigen einrichten |
| Interstitial | Ganzseitige Anzeigen in Ihrer App. Platzieren Sie diese Anzeigen an natürlichen Unterbrechungs- oder Übergangspunkten in der App, etwa beim Abschluss eines Levels in einer Gaming-App. | 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 Anzeigen laden |
| Verfügbar | Nutzer erhalten In-App-Prämien wie Münzen oder Punkte, wenn sie Spiele spielen, an Umfragen teilnehmen oder sich 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 Prämien wie Münzen oder Extraleben für Anzeigen anbieten, die während App-Übergängen ausgeliefert werden. | Interstitial-Anzeigen mit Prämie |
| App-Start | Wird eingeblendet, wenn Nutzer Ihre App öffnen oder zu ihr zurückkehren. Die Anzeige überlagert den Ladebildschirm. | App-Start-Anzeigen |