Erste Schritte mit App-Events (Android)

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.

Bevor du beginnst

Voraussetzungen:

App-Events hinzufügen

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:

Automatisch protokollierte Events

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.

EventDetails

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.

Deaktivieren automatisch protokollierter 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.

Deaktivieren der automatischen SDK-Initialisierung

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()

Erfassung von Werbekunden-IDs deaktivieren

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);

Manuelles Protokollieren von Events

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");
}

Event-Parameter

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.

Teste deine Event-Protokollierung

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. Gehe nach unten und wähle App-Events testen aus.
  4. Starte deine App und sende ein Event. Das Event wird auf der Webseite angezeigt.

Aktivieren von Debug-Logs

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.

Mehr dazu

Weitere Informationen und hilfreiche Hinweise zu App-Events findest du hier:

Beispiel-Apps

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.