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.
Nachdem du das Facebook-SDK 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. Du kannst dies in deinem App-Code oder über einen Schalter unter „App-Events“ im App-Dashboard oder im Events Manager ändern. Bitte beachte, dass wir bei widersprüchlichen Werten zwischen der Flag AutoLogAppEventsEnabled
und dem Schalter den Wert des Schalters „Automatisches Protokollieren von Events für das Facebook-SDK“ berücksichtigen. Detaillierte Informationen dazu, welche Daten erfasst werden und wie du die automatische App-Event-Protokollierung deaktivierst, findest du im Abschnitt Automatische App-Event-Protokollierung.
Es gibt drei Möglichkeiten, Events in deiner App zu tracken:
Wenn du das Facebook-SDK verwendest, werden bestimmte Events in deiner App automatisch für Facebook 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 konkrete 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 eine neue Person erstmalig deine App aktiviert oder wenn deine 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. Bis Facebook-SDK für Android v4.18 ist die Initialisierung des SDKs ein manueller Vorgang, der sich vom in diesem Dokument beschriebenen Vorgang zur manuellen Event-Protokollierung unterscheidet. Führe ein Upgrade auf die neueste SDK-Version durch oder scrolle zum Abschnitt Initialisierung von veralteten SDKs, um Events manuell hinzuzufügen. |
App-interner Kauf | Wenn ein von Google Play verarbeiteter Kauf abgeschlossen wurde. Wenn du andere Zahlungsplattformen verwendest, füge den Code für das Kauf-Event manuell hinzu. Die Protokollierung von App-internen Käufen ist für Apps ab v4.39 oder Apps, die auf v4.39 aktualisiert wurden, automatisch deaktiviert. Aktiviere für Apps, die eine ältere Version verwenden, App-interne Kauf-Events unter Allgemeines > Einstellungen für Android-Karte im App-Dashboard oder füge den Code für das Kauf-Event manuell hinzu. Das Android SDK unterstützt derzeit v2 und v3 der Google Play Billing-Bibliothek. Für v4 der Google Play Billing-Bibliothek musst du In-App-Kauf-Events manuell protokollieren. |
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. |
ANR-Bericht für das Facebook-SDK (Nur zur Facebook-Verwendung.) | Wenn bei deiner App wegen des Facebook-SDK ein ANR-Ereignis (Application Not Responding, Anwendung reagiert nicht) auftritt, wird ein ANR-Bericht generiert und bei Neustart der App an Facebook gesendet. Dieser Bericht enthält keine Nutzerdaten 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. |
Füge der AndroidManifest.xml-Datei Folgendes hinzu, um automatisch protokollierte Events zu deaktivieren:
<application> ... <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled" android:value="false"/> ... </application>
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 Nutzers einzuholen oder deine rechtlichen Pflichten zu erfüllen. Rufe in diesem Fall die setAutoLogAppEventsEnabled()
-Methode der FacebookSDK
-Klasse auf und setze sie auf true
, um die Protokollierung nach der Einwilligung des Endbenutzers wieder zu aktivieren.
setAutoLogAppEventsEnabled(true);
Um die Protokollierung aus einem beliebigen Grund erneut zu deaktivieren, legst du für die setAutoLogAppEventsEnabled()
-Methode den Wert false
fest.
setAutoLogAppEventsEnabled(false);
Du kannst mit dem App-Dashboard auch die automatische Protokollierung von App-internen Käufen deaktivieren. Navigiere zur Android-Karte unter Allgemeines > Einstellungen und setze den Schalter auf Nein.
Füge der AndroidManifest.xml-Datei Folgendes hinzu, um die automatische SDK-Initialisierung zu deaktivieren:
<application> ... <meta-data android:name="com.facebook.sdk.AutoInitEnabled" android:value="false"/> ... </application>
In einigen Fällen ist es sinnvoll, die SDK-Initialisierung zu verzögern anstatt sie zu deaktivieren, beispielsweise um die Einwilligung eines Nutzers einzuholen oder deine rechtlichen Pflichten zu erfüllen. Rufe in diesem Fall die Klassenmethode setAutoInitEnabled
auf und lege sie auf true
fest, um das SDK manuell zu initialisieren, nachdem der Endbenutzer seine Einwilligung erteilt hat.
FacebookSdk.setAutoInitEnabled(true) FacebookSdk.fullyInitialize()
Füge der AndroidManifest.xml-Datei Folgendes hinzu, um die Erfassung der advertiser-id
zu deaktivieren:
<application> ... <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled" android:value="false"/> ... </application>
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 Nutzers einzuholen oder deine rechtlichen Pflichten zu erfüllen. Rufe in diesem Fall die Methode setAdvertiserIDCollectionEnabled()
der Klasse FacebookSDK
auf und lege sie auf true
fest, um die Erfassung der advertiser_id
wieder zu aktivieren, nachdem der Endbenutzer seine Einwilligung erteilt hat.
setAdvertiserIDCollectionEnabled(true);
Um die Erfassung aus einem beliebigen Grund zu deaktivieren, legst du die setAdvertiserIDCollectionEnabled()
-Methode auf false
fest.
setAdvertiserIDCollectionEnabled(false);
Erstelle ein AppEventsLogger
-Objekt mit der Hilfstool-Methode, um deine Events zu protokollieren. Dabei ist this
die Activity
, in der sich deine Methode befindet.
AppEventsLogger logger = AppEventsLogger.newLogger(this);
Anschließend kannst du dein Event in logger
protokollieren, wobei AppEventConstants.EVENT_NAME_X
eine der Konstanten ist, die in der Tabelle „Standard-Events“ angezeigt werden oder aus dem Codegenerator-Code stammen.
logger.logEvent(AppEventsConstants.EVENT_NAME_X);
Du kannst auch eine Reihe an Parametern in einem Bundle
und eine valueToSum
-Eigenschaft angeben. Dabei handelt es sich um eine beliebige Zahl, die für jeden gewünschten Wert stehen kann, z. B. einen Preis oder eine Anzahl. Im Bericht werden alle valueToSum
-Eigenschaften summiert. Beispiel: Wenn 10 Personen einen Artikel für je 10 $ kaufen (und valueToSum
übergeben wurde), wird im Report die Zahl 100 $ als Summe angegeben.
Hinweis: Sowohl valueToSum
als auch parameters
sind optional.
Bundle params = new Bundle(); params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT, "[{\"id\": \"1234\", \"quantity\": 2}, {\"id\": \"5678\", \"quantity\": 1}]"); logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASE, 54.23, params); Bundle params = new Bundle(); params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452"); logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART, 54.23, params);
Um ein selbstdefiniertes Event zu protokollieren, übergib einfach den Namen des Events als String. Diese Funktion setzt voraus, dass Logger eine Instanz von AppEventsLogger ist und mit dem Aufruf AppEventsLogger.newLogger() erstellt wurde.
public void logBattleTheMonsterEvent () { logger.logEvent("BattleTheMonster"); }
Jedes Event kann mit valueToSum
und einer Reihe von bis zu 25 Parametern protokolliert werden. Sie werden über ein Bundle
übergeben, wobei der Schlüssel den Parameternamen enthält und der Wert entweder ein String
oder eine int
ist, wie unten dargestellt. Wenn du einen anderen, nicht konformen Typ, wie boolean
, für den Wert angibst, protokolliert das SDK eine Warnung in LogginBehavior.APP_EVENT
.
Im Referenzleitfaden zu Standard-Event-Parametern findest du Parameter, die normalerweise mit Standard-Events verwendet werden. Diese Parameter sollen als Orientierungshilfe dienen. Du kannst jedoch auch deine eigenen Parameter bereitstellen. Deine App sollte Parameter protokollieren, für die du gerne Aufschlüsselungen in Insights erhalten möchtest.
Als Namen eines Parameters solltest du nicht „Event“ verwenden. Eigene Parameter mit dem Namen „Event“ werden nicht protokolliert. Verwende einen anderen Namen oder füge dem Namen ein Präfix oder Suffix hinzu, wie my_custom_event
.
Mit dem App Ads-Hilfstool kannst du die App-Events in deiner App testen, um sicherzustellen, dass deine App-Events an Facebook sendet.
Aktiviere Debug-Logs, um die App-Event-Nutzung auf Client-Seite zu verifizieren. Die Debug-Logs enthalten detaillierte Anfragen und JSON-Antworten. Aktiviere Debug-Logs, indem du nach Initialisieren des Facebook-SDK für Android folgenden Code hinzufügst:
FacebookSdk.setIsDebugEnabled(true); FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);
Dies dient lediglich Debugging-Zwecken. Aktiviere Debug-Logs, bevor du deine App öffentlich bereitstellst.
Weitere Informationen und hilfreiche Hinweise zu App-Events findest du hier:
Wir haben einige Beispiele für unterschiedliche App-Typen erstellt, um dir zu demonstrieren, wie du App-Events einsetzen kannst. Jede der Beispiel-Apps bietet eine Aufschlüsselung der verschiedenen Events mit Codebeispielen für die einzelnen Bildschirme. Beachte unbedingt, dass diese Beispiele lediglich als Ausgangspunkt für deine App dienen und von dir angepasst werden müssen.