Jetzt starten

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. Anschließend können Sie eines oder mehrere der unterstützten Anzeigenformate implementieren.

Vorbereitung

  • Xcode 15.3 oder höher verwenden
  • iOS 12.0 oder höher als Zielversion festlegen

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 Ihres Projekts und fügen Sie dem Ziel Ihrer App diese Zeile hinzu:

pod 'Google-Mobile-Ads-SDK'

Führen Sie dann in der 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 Package Manager

Das Google Mobile Ads SDK unterstützt ab Version 9.0.0 den Swift Package Manager. So importieren Sie das Swift-Paket:

  1. Installieren Sie das Swift-Paket für mobile Anzeigen von Google in Xcode. Gehen Sie dazu zu File > Add Packages… (Datei > Pakete hinzufügen…).

  2. 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
    
  3. Wählen Sie die Version des Google Mobile Ads Swift-Pakets aus, die Sie verwenden möchten. Für neue Projekte empfehlen wir die Option Bis zur nächsten Hauptversion.

Sobald Sie fertig sind, beginnt Xcode, Ihre Paketabhängigkeiten im Hintergrund aufzulösen und herunterzuladen. Weitere Informationen zum Hinzufügen von Paketabhängigkeiten finden Sie im Artikel von Apple.

Manueller Download

  1. Laden Sie das Google Mobile Ads SDK herunter und Embed & Sign Sie die folgenden Frameworks in Ihr Xcode-Projekt:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. 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 -ObjC-Linker-Flag zu Other Linker Flags (Weitere Verknüpfungsmerker) hinzu.

Info.plist aktualisieren

Aktualisieren Sie die Datei Info.plist Ihrer App, um zwei Schlüssel hinzuzufügen:

  1. Einen GADApplicationIdentifier-Schlüssel mit dem Stringwert IhrerAd Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Ein SKAdNetworkItems-Schlüssel mit SKAdNetworkIdentifier-Werten für Google (cstr6suwn9.skadnetwork) und ausgewählte Drittanbieter-Bieter, 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 Leistung bei der Initialisierung ist es wichtig, Ihre Yield-Gruppen mit den Apps zu verknüpfen, in denen sie verwendet werden. Konfigurationen von Yield-Gruppen, die auf iOS-Geräte ausgerichtet und nicht mit einer bestimmten App verknüpft sind, werden an alle iOS-Apps in Ihrem Konto gesendet. Das kann die Zeit für die Initialisierung verlängern.

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 nur in einer „Hello World“-App testen.

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 erfolgen, idealerweise beim Start der App. Sie sollten startWithCompletionHandler: so bald wie möglich anrufen.

Hier ein Beispiel für den Aufruf der Methode startWithCompletionHandler: in 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 jetzt importiert und initialisiert. Sie können also eine Anzeige implementieren. Ad Manager bietet verschiedene Anzeigenformate, sodass Sie dasjenige auswählen können, das am besten zur Nutzerfreundlichkeit Ihrer App passt.

SwiftUI-Entwickler folgen unserem SwiftUI-Leitfaden.

Banneranzeigenblöcke enthalten rechteckige Anzeigen, die einen Teil der App-Oberfläche einnehmen. und nach einer festgelegten Zeitspanne automatisch aktualisiert werden können. Damit sehen Nutzer an derselben Stelle regelmäßig neue Werbung, auch wenn sie nicht zu einem anderen Bereich der App wechseln. Dieses Anzeigenformat ist außerdem am einfachsten zu implementieren.

Banneranzeigen implementieren

Interstitial

Mit Interstitial-Anzeigenblöcken werden ganzseitige Anzeigen in Ihrer App bereitgestellt. Die Anzeigenblöcke sollten an natürlichen Unterbrechungs- oder Übergangspunkten platziert werden, z. B. in einer Gaming-App nach Abschluss eines Levels.

Interstitial-Anzeigen implementieren

Nativ

Bei nativen Anzeigen können Sie die Darstellung von Assets wie Anzeigentiteln und Calls-to-Action in Ihren Apps anpassen. Wenn Sie die Anzeige selbst gestalten, können Sie natürliche, unaufdringliche Anzeigen erstellen, die die Nutzerfreundlichkeit verbessern.

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. Daher sind diese Designs eine gute Wahl, wenn Sie mit dem Format noch nicht vertraut sind. Das benutzerdefinierte Rendering wurde entwickelt, um Ihnen beim Erstellen Ihrer Präsentationen maximale Freiheit zu bieten.

Native Designs implementieren Native Anzeigen implementieren (benutzerdefiniertes Rendering)

Verfügbar

Mit Anzeigenblöcken 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 je nach Anzeigenblock verschiedene Prämien festlegen und angeben, welche Prämienwerte oder -artikel die Nutzer erhalten.

Anzeigen mit Prämie implementieren

Interstitial mit Prämie

Interstitials mit Prämie sind ein neues, auf Incentives basierendes Anzeigenformat, das automatisch an natürlichen Übergangspunkten in einer App ausgeliefert wird. Sie können damit Nutzer, die sich die Werbung ansehen, mit Münzen oder Extraleben belohnen.

Anders als bei Anzeigen mit Prämie müssen Nutzer nicht zustimmen, sich Interstitials mit Prämie anzusehen.

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

„App-Start“ ist ein Anzeigenformat, das präsentiert wird, wenn ein Nutzer Ihre App öffnet oder zu ihr zurückwechselt. Die Anzeige wird als Overlay über dem Ladebildschirm eingeblendet.

App-Start-Anzeigen implementieren