Um Anzeigen auszuliefern und Umsätze zu generieren, müssen Sie zuerst das Google Mobile Ads SDK in eine App einbinden. Nach der Integration des SDK 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 über die Befehlszeile folgenden Befehl aus:
pod install --repo-update
Wenn Sie CocoaPods noch nicht kennen, finden Sie in der offiziellen Dokumentation Informationen zum Erstellen und Verwenden von Podfiles.
Swift-Paketmanager
Das Google Mobile Ads SDK unterstützt den Swift Package Manager ab Version 9.0.0. So importieren Sie das Swift-Paket:
Wählen Sie in Xcode File > Add Packages... (Datei > Pakete hinzufügen...) aus, um das Google Mobile Ads Swift Package zu installieren.
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
Wählen Sie die Version des Google Mobile Ads Swift Package aus, das Sie verwenden möchten. Für neue Projekte empfehlen wir die Verwendung der Nächsten Hauptversion.
Sobald 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 Apple-Artikel.
Manueller Download
Laden Sie das Google Mobile Ads SDK herunter und
Embed & Sign
verwenden Sie die folgenden Frameworks in Ihrem Xcode-Projekt:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
Fügen Sie das Verknüpfungs-Flag
-ObjC
in den Build-Einstellungen Ihres Projekts unter Andere Verknüpfungs-Flags hinzu:
Info.plist-Datei aktualisieren
Fügen Sie der Datei Info.plist
Ihrer Anwendung zwei Schlüssel hinzu:
Ein
GADApplicationIdentifier
-Schlüssel mit einem Stringwert vonAd Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
.Einen
SKAdNetworkItems
-Schlüssel mitSKAdNetworkIdentifier
-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>
Für eine optimale Initialisierungsleistung ist es wichtig, Ihre Ertragsgruppen den Anwendungen zuzuordnen, in denen sie verwendet werden. Konfigurationen von Ertragsgruppen, die auf iOS ausgerichtet und keiner bestimmten App zugeordnet sind, werden an alle iOS-Apps in Ihrem Konto gesendet. Dadurch verlängert sich unter Umständen die Initialisierungszeit.
In einer echten App ersetzen Sie die Beispiel-App-ID durch Ihre tatsächlicheAd Manager App-ID. Sie können die Beispiel-ID verwenden, wenn Sie das SDK in einer Hello World-App testen möchten.
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 aufgerufen, sobald die Initialisierung abgeschlossen ist (oder nach einem Zeitlimit von 30 Sekunden). Dies muss nur einmal durchgefü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
:
AppDelegate-Beispiel (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. Sie können jetzt eine Anzeige implementieren. Ad Manager Es stehen verschiedene Anzeigenformate zur Verfügung, aus denen Sie wählen können, welches am besten zur Nutzererfahrung Ihrer App passt.
SwiftUI-Entwickler folgen unserem SwiftUI-Leitfaden.
Banner
Banneranzeigenblöcke enthalten rechteckige Anzeigen, die einen Teil der App-Oberfläche einnehmen. Sie können nach einer festgelegten Zeit automatisch aktualisiert werden. Das bedeutet, dass Nutzer in regelmäßigen Abständen eine neue Anzeige aufrufen, auch wenn sie in Ihrer App auf demselben Bildschirm bleiben. Dieses Anzeigenformat ist auch am einfachsten zu implementieren.
Interstitial
Mit Interstitial-Anzeigenblöcken werden ganzseitige Anzeigen in Ihrer App ausgeliefert. Platzieren Sie die Anzeigenblöcke an natürlichen Unterbrechungs- oder Übergangspunkten in der App, etwa nach dem Abschluss eines Levels in einer Gaming-App.
Interstitial-Anzeigen implementieren
Nativ
Bei nativen Anzeigen können Sie anpassen, wie Assets wie Anzeigentitel und Calls-to-Action in Ihren Apps dargestellt werden. Wenn Sie die Anzeige selbst gestalten, können Sie eine natürliche, unaufdringliche Anzeigenpräsentation erstellen, die die Nutzererfahrung verbessert.
In Google Ad Manager gibt es zwei Möglichkeiten, native Anzeigen zu implementieren: native Designs und native Standardanzeigen durch benutzerdefiniertes Rendering.
Native Designs wurden entwickelt, um die Implementierung nativer Anzeigen zu vereinfachen. Sie sind besonders dann geeignet, wenn Sie mit dem Format noch nicht vertraut sind. Das benutzerdefinierte Rendering wurde entwickelt, um Ihnen beim Erstellen von Präsentationen mehr Freiheiten zu bieten.
Native Designs implementieren Native Anzeigen implementieren (benutzerdefiniertes Rendering)
Verfügbar
Mit Anzeigenblöcken für Anzeigen 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 die Prämienwerte und -artikel angeben, die der Nutzer erhalten hat.
Anzeigen mit Prämie implementieren
Interstitial mit Prämie
Interstitial-Anzeigen mit Prämie sind ein neues Anzeigenformat mit Anreizen, mit dem Sie Prämien wie Münzen oder Extraleben für Anzeigen anbieten können, die automatisch bei natürlichen App-Übergängen eingeblendet werden.
Im Gegensatz zu Anzeigen mit Prämie müssen Nutzer nicht zustimmen, um Interstitial-Anzeigen mit Prämie zu sehen.
Anstelle der Zustimmungsaufforderung in Anzeigen mit Prämie ist für Interstitials mit Prämie ein Eingangsbildschirm erforderlich, auf dem die Prämie angezeigt wird und der Nutzer die Möglichkeit hat, die Teilnahme zu beenden.
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.