Verfolgen von Ereignisdaten
Erfahren Sie, wie Sie Ereignisse in einer Mobile App verfolgen.
Die Edge Network-Erweiterung bietet eine API zum Senden von Erlebnisereignissen an Platform Edge Network. Ein Erlebnisereignis ist ein Objekt, das Daten enthält, die der Schemadefinition von XDM ExperienceEvent entsprechen. Einfach ausgedrückt, erfassen diese Ereignisse, was Menschen in Ihrer App tun. Nachdem Platform Edge Network Daten erhalten hat, können diese Daten an Programme und Services weitergeleitet werden, die in Ihrem Datenstrom konfiguriert sind, z. B. Adobe Analytics und Experience Platform. Weitere Informationen zu Erlebnisereignissen finden Sie in der Produktdokumentation.
Voraussetzungen
- Alle Paketabhängigkeiten werden in Ihrem Xcode-Projekt konfiguriert.
- Registrierte Erweiterungen in AppDelegate.
- MobileCore-Erweiterung zur Verwendung Ihrer
appId
konfiguriert. - SDKs importiert.
- Die App mit den oben genannten Änderungen wurde erfolgreich erstellt und ausgeführt.
Lernziele
In dieser Lektion werden Sie
- Erfahren Sie, wie Sie XDM-Daten basierend auf einem Schema strukturieren.
- Senden Sie ein XDM-Ereignis basierend auf einer Standardfeldgruppe.
- Senden Sie ein XDM-Ereignis basierend auf einer benutzerdefinierten Feldergruppe.
- Senden Sie ein XDM-Kaufereignis.
- Validieren mit Assurance.
Erstellen eines Erlebnisereignisses
Die Adobe Experience Platform Edge-Erweiterung kann Ereignisse, die einem zuvor definierten XDM-Schema folgen, an Adobe Experience Platform Edge Network senden.
Der Prozess läuft so ab…
-
Identifizieren Sie die Mobile-App-Interaktion, die Sie verfolgen möchten.
-
Prüfen Sie Ihr Schema und ermitteln Sie das entsprechende Ereignis.
-
Prüfen Sie Ihr Schema und identifizieren Sie alle zusätzlichen Felder, die zur Beschreibung des Ereignisses verwendet werden sollten.
-
Erstellen und Auffüllen des Datenobjekts.
-
Ereignis erstellen und senden.
-
Validieren.
Standardfeldgruppen
Für die Standardfeldgruppen sieht der Prozess wie folgt aus:
-
Identifizieren Sie in Ihrem Schema die Ereignisse, die Sie erfassen möchten. In diesem Beispiel verfolgen Sie Commerce-Erlebnisereignisse, z. B. ein Produktansichtsereignis productViews.
-
Um ein -Objekt zu erstellen, das die Erlebnisereignisdaten in Ihrer App enthält, verwenden Sie Code wie den folgenden:
code language-swift |
---|
|
In diesem Code:
-
eventType
: Beschreibt das aufgetretene Ereignis. Verwenden Sie nach Möglichkeit einen bekannten". -
commerce.productViews.value
: Der numerische oder boolesche Wert des Ereignisses. Wenn es sich um einen booleschen Wert (oder „Zähler“ in Adobe Analytics) handelt, wird der Wert immer auf 1 festgelegt. Wenn es sich um ein numerisches oder ein Währungsereignis handelt, kann der Wert > 1 sein.
code language-kotlin |
---|
|
In diesem Code:
-
eventType
: Beschreibt das aufgetretene Ereignis. Verwenden Sie nach Möglichkeit einen bekannten". -
commerce.productViews.value
: Der numerische oder boolesche Wert des Ereignisses. Wenn es sich um einen booleschen Wert (oder „Zähler“ in Adobe Analytics) handelt, wird der Wert immer auf 1 festgelegt. Wenn es sich um ein numerisches oder ein Währungsereignis handelt, kann der Wert > 1 sein.
-
Identifizieren Sie in Ihrem Schema alle zusätzlichen Daten, die mit dem Commerce-Produktansichtsereignis verknüpft sind. In diesem Beispiel schließen Sie productListItems ein. Dies ist ein Standardsatz von Feldern, die mit jedem Commerce-bezogenen Ereignis verwendet werden:
* Beachten Sie **dass „productListItems** ein Array ist, sodass mehrere Produkte bereitgestellt werden können.
-
Um diese Daten hinzuzufügen, erweitern Sie Ihr
xdmData
-Objekt, um zusätzliche Daten einzuschließen:
code language-swift |
---|
|
code language-kotlin |
---|
|
- Sie können jetzt diese Datenstruktur verwenden, um eine
ExperienceEvent
zu erstellen:
code language-swift |
---|
|
code language-kotlin |
---|
|
- und senden Sie das Ereignis und die Daten mithilfe der
sendEvent
-API an Platform Edge Network:
code language-swift |
---|
|
code language-kotlin |
---|
|
Die Edge.sendEvent
-API entspricht der AEP Mobile SDK den MobileCore.trackAction
- und MobileCore.trackState
-API-Aufrufen. Weitere finden Sie unter „Migrieren von der Analytics Mobile-ErweiterungAdobe Experience Platform Edge Network".
Sie werden diesen Code jetzt in Ihrem Projekt implementieren.
Sie haben verschiedene Commerce-produktbezogene Aktionen in Ihrer App und möchten Ereignisse senden, die auf diesen Aktionen basieren und vom Benutzer ausgeführt werden:
- Ansicht: Tritt auf, wenn ein Benutzer ein bestimmtes Produkt anzeigt,
- Zum Warenkorb hinzufügen: Wenn ein Benutzer auf
- Für später speichern: Wenn ein Benutzer in einem Produktdetailbildschirm auf
- Kauf: Wenn ein Benutzer auf
Um den wiederverwendbaren Versand von Commerce-bezogenen Erlebnisereignissen zu implementieren, verwenden Sie eine dedizierte Funktion:
-
Navigieren Sie im Xcode-Projekt-Luma zu Luma > Utils > > MobileSDK) und fügen Sie Folgendes zur
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
hinzu.code language-swift // Set up a data dictionary, create an experience event and send the event. let xdmData: [String: Any] = [ "eventType": "commerce." + commerceEventType, "commerce": [ commerceEventType: [ "value": 1 ] ], "productListItems": [ [ "name": product.name, "priceTotal": product.price, "SKU": product.sku ] ] ] let commerceExperienceEvent = ExperienceEvent(xdm: xdmData) Edge.sendEvent(experienceEvent: commerceExperienceEvent)
Diese Funktion akzeptiert den Ereignistyp und das Produkt des Commerce-Erlebnisses als Parameter und
- richtet die XDM-Payload mithilfe der Parameter aus der -Funktion als Wörterbuch ein,
- ein Erlebnisereignis mithilfe des Wörterbuchs einrichtet,
- sendet das Erlebnisereignis über die
Edge.sendEvent
-API.
-
Navigieren Sie im Xcode-Projekt-Navigator zu Luma > Luma > Views > Products > ProductView und fügen Sie verschiedene Aufrufe an die
sendCommerceExperienceEvent
Funktion hinzu:-
Am Modifikator
.task
innerhalb desATTrackingManager.trackingAuthorizationStatus
. Dieser.task
wird aufgerufen, wenn die Produktansicht initialisiert und angezeigt wird. Daher möchten Sie zu diesem Zeitpunkt ein Produktansichtsereignis senden.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
Fügen Sie für jede der Schaltflächen (
ATTrackingManager.trackingAuthorizationStatus == .authorized
hinzu:-
Für
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Für
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Für
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
-
-
-
Navigieren Sie im Android Studio-Navigator zu Android
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
hinzu.code language-kotlin // Set up a data map, create an experience event and send the event. val xdmData = mapOf( "eventType" to "commerce.$commerceEventType", "commerce" to mapOf(commerceEventType to mapOf("value" to 1)), "productListItems" to listOf( mapOf( "name" to product.name, "priceTotal" to product.price, "SKU" to product.sku ) ) ) val commerceExperienceEvent = ExperienceEvent.Builder().setXdmSchema(xdmData).build() Edge.sendEvent(commerceExperienceEvent, null)
Diese Funktion akzeptiert den Ereignistyp und das Produkt des Commerce-Erlebnisses als Parameter und
- richtet die XDM-Payload mithilfe der Parameter aus der -Funktion als Zuordnung ein,
- ein Erlebnisereignis mithilfe der Zuordnung einrichtet,
- sendet das Erlebnisereignis über die
Edge.sendEvent
-API.
-
Android Navigieren Sie im Studio-Navigator zu app > kotlin+java > com.adobe.luma.tutorial. > views > ProductView.kt und fügen Sie der
sendCommerceExperienceEvent
verschiedene Aufrufe hinzu:-
Bei der
LaunchedEffect(Unit)
zusammensetzbaren Funktion möchten Sie ein Produktansichtsereignis zum Zeitpunkt der Anzeige eines Produkts senden.code language-kotlin // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("productViews", product)
-
Fügen Sie für jede der Schaltflächen (
scope.launch
derif (MobileSDK.shared.trackingEnabled == TrackingStatus.AUTHORIZED) statement
hinzu:-
Für
code language-kotlin // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("saveForLaters", product)
-
Für
code language-kotlin // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("productListAdds", product)
-
Für
code language-kotlin // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("purchases", product)
-
-
java.util.Map
) als grundlegende Schnittstelle zum Erstellen Ihrer XDM-Payload.Benutzerdefinierte Feldergruppen
Angenommen, Sie möchten Bildschirmansichten und Interaktionen in der App selbst verfolgen. Denken Sie daran, dass Sie eine benutzerdefinierte Feldergruppe für diesen Ereignistyp definiert haben.
-
Identifizieren Sie in Ihrem Schema die Ereignisse, die Sie erfassen möchten.
-
Beginnen Sie mit dem Aufbau Ihres -Objekts.
note note NOTE -
Standardfeldgruppen beginnen immer im Objektstamm.
-
Benutzerdefinierte Feldergruppen beginnen immer unter einem Objekt, das für Ihre Experience Cloud-Organisation eindeutig ist,
_techmarketingdemos
in diesem Beispiel.
-
-
Für das Ereignis „App Interaction“ würden Sie ein -Objekt wie das folgende erstellen:
code language-swift |
---|
|
code language-kotlin |
---|
|
- Für das Bildschirm-Tracking-Ereignis würden Sie ein Objekt wie das folgende erstellen:
code language-swift |
---|
|
code language-kotlin |
---|
|
- Sie können diese Datenstruktur jetzt verwenden, um eine
ExperienceEvent
zu erstellen.
code language-swift |
---|
|
code language-kotlin |
---|
|
- Senden Sie das Ereignis und die Daten an Platform Edge Network.
code language-swift |
---|
|
code language-kotlin |
---|
|
Implementieren Sie diesen Code erneut in Ihrem Projekt.
-
Zur Vereinfachung definieren Sie zwei Funktionen in MobileSDK. Navigieren Sie in Ihrem Xcode-Projekt Luma Navigator zu Luma > Utils > > MobileSDK.
-
Eines für App-Interaktionen. Fügen Sie den folgenden Code zur
func sendAppInteractionEvent(actionName: String)
hinzu:code language-swift // Set up a data dictionary, create an experience event and send the event. let xdmData: [String: Any] = [ "eventType": "application.interaction", tenant : [ "appInformation": [ "appInteraction": [ "name": actionName, "appAction": [ "value": 1 ] ] ] ] ] let appInteractionEvent = ExperienceEvent(xdm: xdmData) Edge.sendEvent(experienceEvent: appInteractionEvent)
Diese Funktion verwendet den Aktionsnamen als Parameter und
- richtet die XDM-Payload mithilfe des Parameters aus der -Funktion als Wörterbuch ein,
- ein Erlebnisereignis mithilfe des Wörterbuchs einrichtet,
- sendet das Erlebnisereignis über die
Edge.sendEvent
-API.
-
Und einen für Bildschirmverfolgung. Fügen Sie den folgenden Code zur
func sendTrackScreenEvent(stateName: String)
hinzu:code language-swift // Set up a data dictionary, create an experience event and send the event. let xdmData: [String: Any] = [ "eventType": "application.scene", tenant : [ "appInformation": [ "appStateDetails": [ "screenType": "App", "screenName": stateName, "screenView": [ "value": 1 ] ] ] ] ] let trackScreenEvent = ExperienceEvent(xdm: xdmData) Edge.sendEvent(experienceEvent: trackScreenEvent)
Diese Funktion verwendet den Statusnamen als Parameter und
- richtet die XDM-Payload mithilfe des Parameters aus der -Funktion als Wörterbuch ein,
- ein Erlebnisereignis mithilfe des Wörterbuchs einrichtet,
- sendet das Erlebnisereignis über die
Edge.sendEvent
-API.
-
-
Navigieren Sie zu Luma > Luma > Views > General > LoginSheet.
-
Fügen Sie den folgenden hervorgehobenen Code zum Schließen der Schaltfläche „Anmelden“ hinzu:
code language-swift // Send app interaction event MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
-
Fügen Sie den folgenden hervorgehobenen Code zu
onAppear
Modifikator hinzu:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
-
Zur Vereinfachung definieren Sie zwei Funktionen in MobileSDK. Android Navigieren Sie in Ihrem Android -Navigator zu {}
-
Eines für App-Interaktionen. Fügen Sie den folgenden Code zur
fun sendAppInteractionEvent(actionName: String)
hinzu:code language-kotlin // Set up a data map, create an experience event and send the event. val xdmData = mapOf( "eventType" to "application.interaction", tenant.value to mapOf( "appInformation" to mapOf( "appInteraction" to mapOf( "name" to actionName, "appAction" to mapOf("value" to 1) ) ) ) ) val appInteractionEvent = ExperienceEvent.Builder().setXdmSchema(xdmData).build() Edge.sendEvent(appInteractionEvent, null)
Diese Funktion verwendet den Aktionsnamen als Parameter und
- richtet die XDM-Payload mithilfe des Parameters aus der -Funktion als Zuordnung ein,
- ein Erlebnisereignis mithilfe der Zuordnung einrichtet,
- sendet das Erlebnisereignis über die
Edge.sendEvent
-API.
-
Und einen für Bildschirmverfolgung. Fügen Sie den folgenden Code zur
fun sendTrackScreenEvent(stateName: String)
hinzu:code language-kotlin // Set up a data map, create an experience event and send the event. val xdmData = mapOf( "eventType" to "application.scene", tenant.value to mapOf( "appInformation" to mapOf( "appStateDetails" to mapOf( "screenType" to "App", "screenName" to stateName, "screenView" to mapOf("value" to 1) ) ) ) ) val trackScreenEvent = ExperienceEvent.Builder().setXdmSchema(xdmData).build() Edge.sendEvent(trackScreenEvent, null)
Diese Funktion verwendet den Statusnamen als Parameter und
- richtet die XDM-Payload mithilfe des Parameters aus der -Funktion als Zuordnung ein,
- ein Erlebnisereignis mithilfe der Zuordnung einrichtet,
- sendet das Erlebnisereignis über die
Edge.sendEvent
-API.
-
-
Navigieren Sie zu Android
-
Fügen Sie den folgenden hervorgehobenen Code zum Ereignis Button onClick hinzu:
code language-kotlin // Send app interaction event MobileSDK.shared.sendAppInteractionEvent("login")
-
Fügen Sie den folgenden hervorgehobenen Code zur zusammensetzbaren Funktion
LaunchedEffect(Unit)
hinzu:code language-kotlin // Send track screen event MobileSDK.shared.sendTrackScreenEvent("luma: content: android: us: en: login")
-
Validierung
-
Lesen Sie den Abschnitt Setup-Anweisungen, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
- Verschieben Sie das Assurance-Symbol nach links.
- Wählen Sie Startseite in der Registerkartenleiste aus und vergewissern Sie sich, dass ECID, E-Mail und CRM ID auf dem Startbildschirm angezeigt werden.
- Wählen Sie Products in der Registerkartenleiste aus.
- Produkt auswählen.
- Wählen Sie
- Wählen Sie
- Wählen Sie


-
Suchen Sie in der Assurance-Benutzeroberfläche nach den hitReceived-Ereignissen des Anbieters com.adobe.edge..
-
Wählen Sie das Ereignis aus und überprüfen Sie die XDM-Daten im messages-Objekt. Alternativ können Sie
Nächste Schritte
Sie sollten jetzt über alle Tools verfügen, um mit dem Hinzufügen der Datenerfassung zu Ihrer App zu beginnen. Sie können die Interaktion der Benutzenden mit Ihren Produkten in der App intelligenter gestalten und der App weitere Interaktionen und Bildschirm-Tracking-Aufrufe hinzufügen:
- Implementieren Sie die Bestellung, den Checkout, den leeren Warenkorb und andere Funktionen in der App und fügen Sie dieser Funktion relevante Commerce-Erlebnisereignisse hinzu.
- Wiederholen Sie den Aufruf von
sendAppInteractionEvent
mit dem entsprechenden Parameter, um andere App-Interaktionen des Benutzers zu verfolgen. - Wiederholen Sie den Aufruf von
sendTrackScreenEvent
mit dem entsprechenden Parameter, um die vom Benutzer in der App angezeigten Bildschirme zu verfolgen.
Senden von Ereignissen an Analytics und Platform
Nachdem Sie nun die Ereignisse erfasst und an Platform Edge Network gesendet haben, werden sie an die Programme und Services gesendet, die in Ihrem Datenstrom“ konfiguriert. In späteren Lektionen ordnen Sie diese Daten Adobe Analytics, Adobe Experience Platform und anderen Adobe Experience Cloud-Lösungen (wie Adobe Target und Adobe Journey Optimizer) zu.
Weiter: WebViews behandeln