Erste Schritte mit App-Events (iOS)

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.

Bevor du beginnst

Was du benötigst:

Schritt 1: Konfiguriere deine Facebook-App

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:

  • App-Domains: Gib die Apple App Store-URL für deine App an.
  • URL zur Datenrichtlinie: Gib eine Datenrichtlinien-URL an. Diese ist erforderlich, damit deine App veröffentlicht werden kann.
  • URL zu Nutzungsbedingungen: Gib eine Nutzungsbedingungen-URL an.
  • Plattform: Scrolle im Fenster „Einstellungen“ nach unten, um die iOS-Plattform hinzuzufügen.

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.

Schritt 2: Verknüpfe deine Anzeigen- und Unternehmenskonten

Um Werbeanzeigen zu schalten und Installationen im Werbeanzeigenmanager zu messen, musst du mindestens ein Werbekonto und ein Unternehmenskonto mit deiner App verknüpfen.

  1. Klicke im App-Dashboard auf Einstellungen > Erweitert.
  2. Füge deine Werbekonten-IDs unter Autorisierte Werbekonten-IDs hinzu. Du kannst deine Werbekonten-IDs vom Werbeanzeigenmanager abrufen.
  3. Klicke im Bereich Werbekonten auf Los geht's und befolge die Anweisungen, um die App mit einem Unternehmen zu verknüpfen.

Schritt 3: Richte deine Entwicklungsumgebung ein

In der nachstehenden Vorgehensweise richtest du deine Entwicklungsumgebung in Xcode mit dem Swift Package Manager ein.

  1. Klicke in Xcode auf File > Add Packages....
  2. Gib im angezeigten Suchfeld die Repository-URL ein: https://github.com/facebook/facebook-ios-sdk.
  3. Wähle in Dependency Rule die Option Up to Next Major Version aus und gib eine aktuelle Version ein. Die aktuelle Version findest du unter https://github.com/facebook/facebook-ios-sdk/releases/.
  4. Wähle die gewünschten Bibliotheken und die Ziele aus, denen du diese Bibliotheken hinzufügen möchtest.
  5. Klicke auf Add Package, um das Setup abzuschließen.

Schritt 4: Registriere und konfiguriere deine App für Facebook

Füge deine Bundle-ID hinzu und aktiviere Single Sign-On für deine App.

Die Bundle-Kennung (Bundle-ID) sollte im Feld unten angezeigt werden. Wenn das Feld leer ist, suche deine Bundle-ID im iOS-App-Ziel deines XCode-Projekts und füge sie in das Feld unten ein.
Bundle-ID
Du kannst künftig deine Bundle-ID im iOS-Bereich auf der Seite „Einstellungen“ ändern.
Aktiviere Single Sign-On
Aktiviere Single Sign-On für deine App indem du unten „Single Sign-On“ auf „Ja“ setzt.
Single Sign-On Wird über iOS-Benachrichtigungen gestartet

Schritt 5: Konfiguriere dein Projekt

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.

  1. Klicke mit der rechten Maustaste auf Info.plist und wähle „Öffnen als ▸ Quellcode“ aus.
  2. Kopiere den folgenden XML-Ausschnitt und füge ihn in den Textkörper deiner Datei ein (<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>
  3. Ersetze in <array><string> im Key [CFBundleURLSchemes]APP-ID durch deine App-ID.
  4. Ersetze in <string> im Key FacebookAppIDAPP-ID durch deine App-ID.
  5. Ersetze in <string> im Key FacebookClientTokenCLIENT-TOKEN durch den Wert, den du in deinem App-Dashboard unter Einstellungen > Erweitert > Client Token findest.
  6. Ersetze in <string> im Key FacebookDisplayNameAPP-NAME durch den Namen deiner App.
  7. Wenn du Facebook-Dialoge (wie z. B. „Login“, „Teilen“ oder „App-Einladungen“) verwendest, die einen App-Wechsel zu Facebook-Apps durchführen können, muss die 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.
  1. Wähle den Button + Funktion im Tab Anmeldung und Funktionen, wenn du dein App-Ziel konfigurierst.
  2. Wähle die Funktion Schlüsselbund teilen aus.
  3. Stelle sicher, dass die Funktion Schlüsselbund teilen für das Ziel aufgeführt ist.

Schritt 6: Verbinde deinen App Delegate und Scene Delegate

Ersetze den Code in der AppDelegate.swift Methode 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 Benutzer*in bei Facebook angemeldet sein, um den Browser in der App für die Anmeldung zu verwenden.
    
// AppDelegate.swift
import UIKit
import FacebookCore

@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 das Öffnen der URL-Funktionalität verschoben auf SceneDelegate. Wenn du iOS 13, füge die folgende Methode zu deinem SceneDelegate damit Vorgänge wie das Anmelden oder die Freigabe ordnungsgemäß funktionieren:
// SceneDelegate.swift
import FacebookCore
  ...
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]
    )
}

Schritt 7: Füge App-Events hinzu

Es gibt drei Möglichkeiten, Events in deiner App zu tracken:

App Store Connect für iOS 14

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.

Automatisch protokollierte Events

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.

EventDetails

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.

Geräteeinwilligung abrufen

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.

Automatisch protokollierte Events deaktivieren

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.

Erfassung von Werbekunden-IDs deaktivieren

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.

Manuelles Protokollieren von Events

Um ein selbstdefiniertes Event zu protokollieren, übergib einfach den Namen des Events als AppEvents.Name:

AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))

Event-Parameter

Facebook hat eine Reihe nützlicher Event-Parameter für Standard-Events oder deine eigenen selbstdefinierten Events erstellt. Du kannst auch deine eigenen Parameter angeben.

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.

Schritt 8: Teste deine Events

Mit dem App Ads-Hilfstool kannst du die App-Events in deiner App testen, um sicherzustellen, dass deine App-Events an Facebook sendet.

  1. Öffne das App Ads-Hilfstool.
  2. Wähle unter App auswählen deine App aus und wähle dann Senden aus.
  3. Scrolle nach unten und wähle Event testen aus.
  4. Starte deine App und sende ein Event. Das Event sollte auf der Webseite angezeigt werden.

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.

Mehr dazu

Beispiel-Apps

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.