Um Anzeigen in Ihrer App zu präsentieren und damit Umsätze zu erzielen, müssen Sie als Erstes das Google Mobile Ads SDK in die App einbinden. Nach der Integration des SDK können Sie mit der Implementierung eines oder mehrerer unterstützten Anzeigenformaten.
Vorbereitung
- 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 CocoaPods Offen 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 in der Befehlszeile folgenden Befehl aus:
pod install --repo-update
Wenn du CocoaPods noch nicht kennst, schau dir ihre offizielle Dokumentation für weitere Informationen wie Podfiles erstellt und verwendet werden.
Swift-Paketmanager
Das Google Mobile Ads SDK unterstützt das Swift-Paket. Google Ads-Kontoverwaltung ab Version 9.0.0. So importieren Sie das Swift-Paket:
Installieren Sie das Swift-Paket für mobile Anzeigen von Google in Xcode. Gehen Sie dazu zu File > Add Packages… (Datei > Pakete hinzufügen…).
Suchen Sie in der angezeigten Aufforderung nach dem GitHub-Repository für das Google Mobile Ads Swift-Paket:
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 Option Bis zur nächsten Hauptversion.
Anschließend beginnt Xcode mit der Auflösung der Paketabhängigkeiten. wenn sie im Hintergrund heruntergeladen werden. Weitere Informationen zum Hinzufügen eines Pakets finden Sie im Artikel von Apple.
Manueller Download
Google Mobile Ads SDK herunterladen und
Embed & Sign
die folgenden Frameworks in Ihr Xcode-Projekt ein:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
Gehen Sie in den Build-Einstellungen Ihres Projekts so vor:
- Fügen Sie den Pfad
/usr/lib/swift
zu Runpath-Suchpfade hinzu. - Fügen Sie das Verknüpfungs-Flag
-ObjC
unter Andere Verknüpfungs-Flags hinzu.
- Fügen Sie den Pfad
Info.plist aktualisieren
Fügen Sie der Datei Info.plist
Ihrer App zwei Schlüssel hinzu:
Einen
GADApplicationIdentifier
-Schlüssel mit dem Stringwert Ihres Ad Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
.Ein
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>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>3qy4746246.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>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>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>ppxm28t8ap.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>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>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>3qcr597p9d.skadnetwork</string> </dict> </array>
Für eine optimale Initialisierungsleistung ist es wichtig, den Ertrag mit den Apps gruppiert, in denen sie verwendet werden. Konfigurationen der Ertragsgruppe auf iOS ausgerichtet und nicht mit einer bestimmten App verknüpft sind, werden an alle Apps in Ihrem Konto an, wodurch sich möglicherweise die Initialisierungszeit verlängert.
In einer echten App ersetzen Sie die Beispiel-App-ID durch Ihre tatsächliche Ad Manager App-ID. Sie können die Beispiel-ID verwenden, wenn testen Sie einfach das SDK in einer Hello World App.
Mobile Ads SDK initialisieren
Rufen Sie vor dem Laden von Anzeigen die Methode startWithCompletionHandler:
auf GADMobileAds.sharedInstance
auf. Dadurch wird das SDK initialisiert und ein Abschluss-Handler wird zurückgerufen, sobald die Initialisierung abgeschlossen ist (oder nach einer 30-sekündigen Zeitüberschreitung). Dies muss nur
einmal, am besten beim Start der App. Sie sollten startWithCompletionHandler:
so bald wie möglich anrufen.
Hier ein Beispiel für den Aufruf der Methode startWithCompletionHandler:
in
Dein AppDelegate
:
Beispiel für AppDelegate (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. implementieren eine Anzeige. Ad Manager bietet eine Reihe von verschiedene Anzeigenformate, damit Sie das Format auswählen können, das am besten zu den Nutzern Ihrer App passt. Nutzererfahrung.
SwiftUI-Entwickler: Folge unserer SwiftUI: .
Banner
Banneranzeigenblöcke enthalten rechteckige Werbeanzeigen, die einen Teil der Layout. Sie können nach einer bestimmten Zeit automatisch aktualisiert werden. Das bedeutet, Nutzer sehen sich regelmäßig eine neue Anzeige an, auch wenn sie nicht verändert wurden in deiner App. Dieses Anzeigenformat ist besonders einfach zu implementieren.
Interstitial
Mit Interstitial-Anzeigenblöcken werden ganzseitige Anzeigen in Ihrer App bereitgestellt. Platzieren Sie sie in einer natürlichen Unterbrechungen und Übergänge auf der Benutzeroberfläche Ihrer App, z. B. nach 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 präsentiert werden. Wenn Sie die Anzeige selbst gestalten, Erstellen Sie natürliche, unaufdringliche Anzeigenpräsentationen, die einen aussagekräftigen Nutzererfahrung.
In Google Ad Manager gibt es zwei Möglichkeiten, native Anzeigen zu implementieren: native Designs und standardmäßige native Anzeigen über benutzerdefiniertes Rendering.
Mit nativen Designs möchten wir die Implementierung nativer Anzeigen vereinfachen. und ist eine gute Wahl, wenn Sie mit dem Format noch nicht vertraut sind. Benutzerdefiniertes Rendering wurde mit dem Sie die Freiheit bei der Erstellung Ihrer Präsentationen maximieren können.
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, zusätzliche Leben oder Punkte erhalten Sie können unterschiedliche Prämien für unterschiedliche Anzeigenblöcke festlegen und die Prämienwerte und Elemente, die der Nutzer erhalten hat.
Anzeigen mit Prämie implementieren
Interstitial mit Prämie
Interstitials mit Prämie sind ein neues Anzeigenformat, bei dem Sie bieten Prämien wie Münzen oder Extraleben für Anzeigen an, die automatisch an natürlichen App-Übergängen.
Im Gegensatz zu Anzeigen mit Prämie müssen Nutzer der Anzeige von Anzeigen mit Prämie nicht zustimmen. Interstitial.
Anstatt der Aufforderung zur Zustimmung muss ein Eingangsbildschirm eingeblendet werden, auf dem Nutzer die versprochene Prämie sehen und sich gegen das Ansehen der Anzeige entscheiden können.
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.