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.
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:
- Öffnen Sie Xcode.
- Gehen Sie zu File > Add Package Dependencies….
Installieren Sie das Swift-Paket Google Mobile Ads SDK.
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.gitWä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:
Ö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'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:
Ö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 dem vorhandenen Block hinzu.Im folgenden Beispiel wird der Schlüssel
IPHONEOS_DEPLOYMENT_TARGETfür alle Pod-Ziele auf15.0gesetzt: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 die Pods neu zu installieren:
pod install --repo-update
Manueller Download
So laden Sie Google Mobile Ads SDK manuell herunter:
- Laden Sie herunter 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 Allgemeinen Einstellungen Ihres Ziels zu Frameworks, Bibliotheken und eingebettete Inhalte.
Prüfen Sie, ob
GoogleMobileAds.xcframeworkundUserMessagingPlatform.xcframeworkauf Einbetten und signieren festgelegt sind.Gehen Sie in den Build-Einstellungen Ihres Projekts so vor:
- Fügen Sie den Pfad
/usr/lib/swiftzu Runpath Search Paths hinzu. - Fügen Sie das Linker-Flag
-ObjCzu Other 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 Ad Manager-App-ID, die Sie in der Ad Manager-Benutzeroberfläche finden und die das Formatca-app-pub-################~##########hat.Ein
SKAdNetworkItems-Schlüssel. Dieser Schlüssel enthältSKAdNetworkIdentifier-Werte für Googlecstr6suwn9.skadnetworkund ausgewählte Drittanbieterkäufer.
Vollständiges Beispiel
<key>GADApplicationIdentifier</key>
<!-- Sample Ad Manager 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 Ad Manager-App-ID. Verwenden Sie beim Testen die Beispiel-App-ID aus dem vorherigen Beispiel.
Wenn Sie Ihre Ertragsgruppen mit bestimmten Apps verknüpfen, kann Ihre App schneller initialisiert werden. Wenn eine Ertragsgruppe auf iOS ausgerichtet, aber nicht mit einer App verknüpft ist, sendet Google die Gruppe an alle iOS-Apps in Ihrem Konto. Dieser Ansatz kann die Leistung beeinträchtigen.
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.
In Ad Manager sind die folgenden Anzeigenformate verfügbar:
| 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 |