In diesem Leitfaden erfährst du, wie du App-Events zu deiner neuen oder bestehenden App hinzufügst. Hierzu musst du das Facebook-SDK integrieren und dann diese Events protokollieren.
Wir haben Änderungen am Facebook-iOS-SDK vorgenommen. Wir empfehlen ein Upgrade auf die neue Version des Facebook-iOS-SDK. Weitere Informationen zu dieser Änderung findest du im Abschnitt zur Geräteeinwilligung.
Voraussetzungen:
Navigiere zum App-Dashboard, klicke auf Meine Apps und erstelle eine neue App, wenn du noch keine hast. Gehe zu Einstellungen > Allgemeines, um das Fenster App-Details mit deiner App-ID, deinem App-Geheimcode und anderen Details zu deiner App aufzurufen.
Scrolle zum Ende der Seite und klicke auf Plattform hinzufügen. Wähle iOS aus, füge die Informationen zu deiner App hinzu und speichere deine Änderungen.
Gib die folgenden Details an, um deine App für Werbeanzeigen einzurichten:

Sieh dir die Dokumentation zur App-Entwicklung an, wenn du weitere Details wie ein Symbol oder eine Kategorie zu deiner App hinzufügen möchtest.
Um Werbeanzeigen zu schalten und Installationen im Werbeanzeigenmanager zu messen, musst du mindestens ein Werbekonto und ein Business-Portfolio mit deiner App verknüpfen.
In der nachstehenden Vorgehensweise richtest du deine Entwicklungsumgebung in Xcode mit dem Swift Package Manager ein.
Konfiguriere die Datei Info.plist mit einem XML-Ausschnitt, der Daten zu deiner App enthält.
Nachdem du Facebook Login integriert hast, werden App-Events automatisch für den Events Manager protokolliert und erfasst, es sei denn, du deaktivierst die automatische Protokollierung von App-Events. Detaillierte Informationen dazu, welche Daten erfasst werden und wie du die automatische Protokollierung von App-Events deaktivierst, findest du im Abschnitt Automatische Protokollierung von App-Events.
Info.plist und wähle „Öffnen als ▸ Quellcode“ aus.
<dict>...</dict>).
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>fbAPP-ID</string></array></dict></array><key>FacebookAppID</key><string>APP-ID</string><key>FacebookClientToken</key><string>CLIENT-TOKEN</string><key>FacebookDisplayName</key><string>APP-NAME</string>
<array><string> im Key [CFBundleURLSchemes]APP-ID durch deine App-ID.<string> im Key FacebookAppIDAPP-ID durch deine App-ID.<string> im Key FacebookClientTokenCLIENT-TOKEN durch den Wert, den du in deinem App-Dashboard unter Einstellungen > Erweitert > Client Token findest.<string> im Key FacebookDisplayNameAPP-NAME durch den Namen deiner App.Info.plist-Datei deiner App ebenfalls Folgendes aufweisen:
<key>LSApplicationQueriesSchemes</key><array><string>fbapi</string><string>fb-messenger-share-api</string></array>
Du kannst die automatische Erfassung von App-Events direkt auf „true“ oder „false“ setzen, indem du FacebookAutoLogAppEventsEnabled als Schlüssel in Info.plist hinzufügst.
Du musst in deinem Projekt die Funktion „Schlüsselbund teilen“ aufnehmen, damit die Anmeldung in Mac Catalyst-Anwendungen funktioniert.



Ersetze den Code in der Methode AppDelegate.swift durch folgenden Code. Dieser Code initialisiert das SDK beim Start der App und ermöglicht dem SDK, die Anmeldungen und Teilen-Vorgänge aus der nativen Facebook-App zu verarbeiten, wenn du einen Anmelde- oder Teilen-Vorgang durchführst. Ansonsten muss der*die Nutzer*in bei Facebook angemeldet sein, um den Browser in der App für die Anmeldung zu verwenden.
// AppDelegate.swift
import UIKit
import FBSDKCoreKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
ApplicationDelegate.shared.application(
application,
didFinishLaunchingWithOptions: launchOptions
)
return true
}
func application(
_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]
) -> Bool {
ApplicationDelegate.shared.application(
app,
open: url,
sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: options[UIApplication.OpenURLOptionsKey.annotation]
)
}
}
iOS 13 hat die Funktionalität zum Öffnen der URL auf SceneDelegate verschoben. Wenn du iOS 13 verwendest, füge die folgende Methode zu deinem SceneDelegate hinzu, damit Vorgänge wie das Anmelden oder Teilen wie gewünscht funktionieren:
// SceneDelegate.swift
import FBSDKCoreKit
...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let url = URLContexts.first?.url else {
return
}
ApplicationDelegate.shared.application(
UIApplication.shared,
open: url,
sourceApplication: nil,
annotation: [UIApplication.OpenURLOptionsKey.annotation]
)
}
Es gibt drei Möglichkeiten, Events in deiner App zu tracken:
Weil deine App Events erfasst und an Facebook sendet, musst du eventuell diese Datentypen im Fragebogen zu App Store Connect angeben. Du bist dafür verantwortlich, die Datenschutzrichtlinie deiner Anwendung entsprechend zu gestalten. Im Artikel zum Datenschutz im Apple App Store erfährst du mehr über die Datentypen, die du angeben musst.
Wenn du das Facebook-SDK verwendest, werden bestimmte Events in deiner App automatisch für Facebook Analytics protokolliert und erfasst, es sei denn, du deaktivierst die automatische Event-Protokollierung. Diese Events sind für alle Anwendungsfälle relevant, wie Targeting, Messung und Optimierung.
Im Rahmen der automatischen App-Event-Protokollierung werden drei Haupt-Events erfasst: App-Installation, App-Launch und Kauf. Mit der Aktivierung der automatischen Protokollierung können Werbetreibende diese Events und andere interne Facebook-Events wie beispielsweise Login-Impression-Events deaktivieren. Wenn du jedoch die automatische Protokollierung deaktiviert hast und dennoch bestimmte Events protokollieren möchtest wie zum Beispiel Installations- und Kauf-Events kannst du die Protokollierung für diese Events in deiner App manuell implementieren.
| Event | Details |
|---|---|
App-Installation | Wenn ein neuer Nutzer erstmalig eine App aktiviert oder wenn eine App erstmalig auf einem bestimmten Gerät gestartet wird. |
App-Launch | Wenn eine Person deine App startet, wird das Facebook-SDK initialisiert und das Event wird protokolliert. Tritt jedoch ein zweites App-Launch-Event innerhalb von 60 Sekunden nach dem ersten ein, wird das zweite App-Launch-Event nicht protokolliert. |
App-interner Kauf | Wenn ein von Apple App Store oder Google Play verarbeiteter Kauf abgeschlossen wurde. Wenn du andere Zahlungsplattformen verwendest, musst du den Code für das Kauf-Event manuell hinzufügen. |
Absturzbericht für das Facebook-SDK (Nur zur Facebook-Verwendung.) | Wenn deine App wegen des Facebook-SDK abgestürzt ist, wird ein Absturzbericht generiert und bei Neustart der App an Facebook gesendet. Dieser Bericht enthält keine Nutzer*innendaten und unterstützt Facebook dabei, die Qualität und Stabilität des SDK sicherzustellen. Wenn du dieses Event nicht mehr protokollieren möchtest, deaktiviere automatisch protokollierte Events. |
Apple bietet vier verschiedene Arten von In-App-Käufen an: verbrauchbar, nicht verbrauchbar, automatisch verlängerbare Abonnements und nicht verlängerbare Abonnements. Wenn du In-App-Käufe mit StoreKit 1 implementierst, protokollieren wir automatisch jede dieser Arten von In-App-Käufen. Wenn du In-App-Käufe mit StoreKit 2 implementierst, protokollieren wir automatisch nicht verbrauchbare Artikel, automatisch verlängerbare Abonnements und nicht verlängerbare Abonnements. Wenn auch Verbrauchsartikel automatisch protokolliert werden sollen, musst du den Schlüssel SKIncludeConsumableInAppPurchaseHistory zu deiner Info.plist hinzufügen:
<key>SKIncludeConsumableInAppPurchaseHistory</key><true/>In StoreKit 1 wird automatisch ein Event protokolliert, wenn der*die Nutzer*in erfolgreich ein Produkt kauft, ein Produkt wiederherstellt oder versucht, ein Produkt zu kaufen, aber der Kauf fehlschlägt. In StoreKit 2 wird automatisch ein Event protokolliert, wenn der*die Nutzer*in erfolgreich ein Produkt kauft oder ein Produkt wiederherstellt. Wenn auch protokolliert werden soll, wenn ein Produkt in StoreKit 1 fehlschlägt, stellen wir dir eine manuelle API zur Verfügung, die du aufrufen musst. Du kannst diese API folgendermaßen in deinem StoreKit 2-Kaufablauf aufrufen:
do {
let result = try await product.purchase()
switch result {
case .success(let verificationResult):
// Handle success case
case .pending:
// Handle pending case
default:
AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}
} catch {
AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}
Ab iOS 14.5 musst du das Flag isAdvertiserTrackingEnabled aktivieren und jedes Mal protokollieren, wenn du einem Gerät die Berechtigung erteilst, Daten mit Facebook zu teilen.
Wenn ein Gerät die Einwilligung erteilt, lege Settings.shared.isAdvertiserTrackingEnabled = true fest.
Wenn ein Gerät kein Tracking zulässt, lege Settings.shared.isAdvertiserTrackingEnabled = false fest.
Um die automatische Protokollierung von Events zu deaktivieren, öffne die Info.plist der App als Code in Xcode und füge dem Eigenschafts-Dictionary den folgenden XML-Code hinzu:
<key>FacebookAutoLogAppEventsEnabled</key> <false/>
In einigen Fällen solltest du die Erfassung automatisch protokollierter Events unter Umständen verzögern, anstatt sie zu deaktivieren, beispielsweise um die Einwilligung eines*einer Nutzer*in einzuholen oder deine rechtlichen Pflichten zu erfüllen. Lege in diesem Fall Settings.shared.isAutoLogAppEventsEnabled = true fest, um die automatische Protokollierung nach der Einwilligung des*der Endnutzer*in wieder zu aktivieren.
Um die Erfassung erneut zu unterbrechen, legst du Settings.shared.isAutoLogAppEventsEnabled = false fest.
Du kannst mit dem App-Dashboard auch die automatische Protokollierung von App-internen Käufen deaktivieren. Navigiere zur iOS-Karte unter Allgemeines>Einstellungen und setze den Schalter auf Nein.
Um die automatische Erfassung von advertiser-id zu deaktivieren, öffne die .plist der App als Code in Xcode und füge dem Eigenschafts-Dictionary den folgenden XML-Code hinzu:
<key>FacebookAdvertiserIDCollectionEnabled</key> <false/>
In einigen Fällen solltest du die Erfassung von advertiser_id unter Umständen verzögern, anstatt sie zu deaktivieren, beispielsweise um die Einwilligung eines*einer Nutzer*in einzuholen oder deine rechtlichen Pflichten zu erfüllen. Lege in diesem Fall Settings.shared.isAdvertiserIDCollectionEnabled = true nach der Einwilligung des*der Endnutzer*in fest.
Um die Erfassung erneut zu unterbrechen, legst du Settings.shared.isAdvertiserIDCollectionEnabled = false fest.
Um ein selbstdefiniertes Event zu protokollieren, übergib einfach den Namen des Events als AppEvents.Name:
AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))Meta hat eine Reihe nützlicher Event-Parameter für Standard-Events oder deine eigenen selbstdefinierten Events erstellt. Du kannst auch eigene Parameter angeben.
Wenn du App-Events zum Messen der Conversions von Dynamic Ads verwenden möchtest, lege den Parameter fb_content_id so fest, dass er der in der zugehörigen Dynamic Ad verwendeten Produkt-ID entspricht.
Diese vordefinierten Parameter dienen als Leitlinien für gängige Protokollierungsmuster und weisen möglicherweise eine besser lesbare Form in der Berichterstellung und anderen UIs auf. Protokolliere die Parameter, die du aufschlüsseln möchtest. Die empfohlene Beschreibung dieser Parameter dient lediglich als Leitlinie. Du kannst die Parameter so einsetzen, wie es für deine App sinnvoll ist.
Die Parameter werden über ein Dictionary übergeben, wobei der Schlüssel den Parameternamen als AppEvents.ParameterName enthält und der Wert entweder ein String oder eine Zahl (Int, Double usw.) sein muss.
Mit dem App Ads-Hilfstool kannst du die App-Events in deiner App testen, um sicherzustellen, dass deine App-Events an Facebook sendet.
Wenn du deine Events in SKAdNetwork-Kampagnen optimieren/tracken möchtest, musst du auch die Event-Priorität (auch als Conversion-Wert bezeichnet) richtig konfigurieren. Nur dann kann Facebook die Conversions richtig empfangen. Mehr dazu erfährst du hier.
Wir haben einige Beispiele für unterschiedliche App-Typen erstellt, um dir besser zu zeigen, wie du App-Events einsetzen kannst. Jede der Beispiel-Apps bietet eine Aufschlüsselung der verschiedenen Events und Parameter, die auf den einzelnen Bildschirmen erfasst werden können. Am Ende jedes Abschnitts werden die empfohlenen Events und Parameter für jede App in einer Tabelle aufgelistet. Bei Bedarf kannst du auch deine eigenen Events und Parameter erstellen.