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
- Empfohlen: Erstellen Sie ein AdMob-Konto und registrieren Sie eine App.
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.
Installieren Sie in Xcode das Google Mobile Ads Swift-Paket, indem Sie Datei > Pakete hinzufügen... auswählen.
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
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
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
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:
Ein
GADApplicationIdentifier
-Schlüssel mit dem StringwertAdMob app ID found in the AdMob UI.Einen
SKAdNetworkItems
-Schlüssel mitSKAdNetworkIdentifier
-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.
Banner
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.
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.
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) |