Dieser Leitfaden richtet sich an Publisher, die eine iOS-App mit AdMob monetarisieren möchten. und verwenden Firebase nicht. Wenn Sie Firebase in Ihre App einbinden (oder die Sie in Betracht ziehen), AdMob mit Firebase Version dieses Leitfadens.
Die Einbindung des Google Mobile Ads SDK in die App ist der erste Schritt zur Anzeigen schalten und Einnahmen erzielen. 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.
- Die App auf iOS 12.0 oder höher ausrichten
- Empfohlen: AdMob-Konto erstellen und eine App registrieren.
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. Diesen folgen Schritte zum Importieren des Swift-Pakets:
Installieren Sie in Xcode das Google Mobile Ads Swift Package, indem Sie Datei > Pakete hinzufügen...
Suchen Sie in der daraufhin angezeigten Eingabeaufforderung nach dem Google Mobile Ads Swift Package. GitHub-Repository:
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 von 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
Fügen Sie das Verknüpfungs-Flag
-ObjC
unter Andere Verknüpfungs-Flags im Build-Einstellungen:
Info.plist aktualisieren
Fügen Sie der Datei Info.plist
Ihrer App zwei Schlüssel hinzu:
Einen
GADApplicationIdentifier
-Schlüssel mit dem Stringwert Ihrer AdMob app ID found in the AdMob UI.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>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>
Wenn Sie noch kein AdMob-Konto erstellt haben, Konto und registriert ein um dies zu tun.
In einer echten App ersetzen Sie die Beispiel-App-ID durch Ihre tatsächliche AdMob 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 der
GADMobileAds.sharedInstance
,
Initialisiert das SDK und ruft einmal einen Abschluss-Handler auf
die Initialisierung abgeschlossen ist (oder nach einem Zeitlimit von 30 Sekunden). Dies muss nur
einmal, am besten beim Start der App. Du solltest startWithCompletionHandler:
anrufen
so früh wie möglich.
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. AdMob 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 am einfachsten 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 Call-to-Action in Ihren Apps präsentiert. Wenn Sie die Anzeige selbst gestalten, Erstellen Sie natürliche, unaufdringliche Anzeigenpräsentationen, die einen aussagekräftigen Nutzererfahrung.
Native Anzeigen implementieren
Verfügbar
Mit Anzeigenblöcken für Anzeigen mit Prämie können Nutzer Spiele spielen, an Umfragen teilnehmen oder Videos ansehen, um In-App-Prämien wie Münzen, Extraleben 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.
Anstelle der Aufforderung zur Aktivierung in Anzeigen mit Prämie ist bei Interstitials mit Prämie ein Eingangsbildschirm, auf dem die Prämie angekündigt wird und Nutzer die Möglichkeit haben, die Anzeige zu deaktivieren, wenn sie das möchten.
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.