Tracking von Ereignisdaten
Erfahren Sie, wie Sie Ereignisse in einer Mobile App verfolgen.
Die Edge Network-Erweiterung stellt eine API zum Senden von Erlebnisereignissen an Platform Edge Network bereit. Ein Erlebnisereignis ist ein Objekt, das Daten enthält, die der XDM ExperienceEvent-Schemadefinition entsprechen. Sie erfassen einfach, was Benutzer in Ihrer mobilen App tun. Sobald Daten von Platform Edge Network empfangen wurden, können sie an Anwendungen und Dienste weitergeleitet werden, die in Ihrem Datenspeicher konfiguriert sind, z. B. Adobe Analytics und Experience Platform. Weitere Informationen zu Erlebnisereignissen finden Sie in der Produktdokumentation.
Voraussetzungen
- Alle Paketabhängigkeiten sind in Ihrem Xcode-Projekt vorhanden.
- Registrierte Erweiterungen in AppDelegate.
- Die MobileCore-Erweiterung wurde für die Verwendung Ihrer Entwicklungsumgebung
appId
konfiguriert. - Importierte SDKs
- Die App wurde erfolgreich erstellt und mit den oben genannten Änderungen 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.
- Überprüfen Sie mit Assurance.
Erstellen eines Erlebnisereignisses
Die Adobe Experience Platform Edge-Erweiterung kann Ereignisse senden, die einem zuvor definierten XDM-Schema folgen, an das Adobe Experience Platform-Edge Network.
Der Prozess läuft so ab…
-
Identifizieren Sie die Mobile App-Interaktion, die Sie verfolgen möchten.
-
Überprüfen Sie Ihr Schema und identifizieren Sie das entsprechende Ereignis.
-
Überprüfen Sie Ihr Schema und identifizieren Sie alle zusätzlichen Felder, die zur Beschreibung des Ereignisses verwendet werden sollen.
-
Erstellen und füllen Sie das Datenobjekt.
-
Ereignis erstellen und senden.
-
Validieren Sie.
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 folgenden Code:
code language-swift var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ] ]
eventType
: Beschreibt das Ereignis, das aufgetreten ist. Verwenden Sie nach Möglichkeit einen bekannten Wert.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 gesetzt. Bei numerischen Ereignissen oder Währungsereignissen kann der Wert > 1 betragen.
-
Identifizieren Sie in Ihrem Schema alle zusätzlichen Daten, die mit dem Ereignis zur Produktansicht für Commerce-Produkte verknüpft sind. Schließen Sie in diesem Beispiel productListItems ein, das ein Standardsatz von Feldern ist, 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 var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ], "productListItems": [ [ "name": productName, "SKU": sku, "priceTotal": priceString, "quantity": 1 ] ] ]
-
Sie können diese Datenstruktur nun verwenden, um eine
ExperienceEvent
zu erstellen:code language-swift let productViewEvent = ExperienceEvent(xdm: xdmData)
-
Senden Sie das Ereignis und die Daten mithilfe der
sendEvent
-API an Platform Edge Network:code language-swift Edge.sendEvent(experienceEvent: productViewEvent)
Die API Edge.sendEvent
ist das mobile SDK von AEP, das den API-Aufrufen MobileCore.trackAction
und MobileCore.trackState
entspricht. Weitere Informationen finden Sie unter Migration von der mobilen Analytics-Erweiterung zum Adobe Experience Platform-Edge Network .
Sie werden diesen Code jetzt tatsächlich in Ihr Xcode-Projekt implementieren.
Sie haben verschiedene Commerce-produktbezogene Aktionen in Ihrer App und möchten Ereignisse basierend auf den vom Benutzer durchgeführten Aktionen senden:
-
Ansicht: Tritt auf, wenn ein Benutzer ein bestimmtes Produkt anzeigt,
-
Hinzufügen zum Warenkorb: wenn ein Benutzer auf
{width="20"}
in einem Produktdetailbildschirm,
-
für später speichern: wenn ein Benutzer auf
{width="15"}
in einem Produktdetailbildschirm,
-
purchase: wenn ein Benutzer auf
{width="20"}
in einem Produktdetailbildschirm angezeigt.
Um das Senden von Commerce-bezogenen Erlebnisereignissen wiederverwendbar zu machen, verwenden Sie eine dedizierte Funktion:
-
Navigieren Sie im Xcode-Projektnavigator zu Luma > Luma > Utils > MobileSDK und fügen Sie der Funktion
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
Folgendes 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,
- richtet mithilfe des Wörterbuchs ein Erlebnisereignis ein,
- sendet das Erlebnisereignis mit der API
Edge.sendEvent
.
-
Navigieren Sie im Xcode Project-Navigator zu Luma > Luma > Views > Products > ProductView und fügen Sie verschiedene Aufrufe zur Funktion
sendCommerceExperienceEvent
hinzu:-
Beim Modifikator
.task
innerhalb desATTrackingManager.trackingAuthorizationStatus
-Schließens. Dieser Modifikator.task
wird aufgerufen, wenn die Produktansicht initialisiert und angezeigt wird. Daher möchten Sie ein Produktansichtsereignis zu diesem bestimmten Zeitpunkt senden.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
Für jede der Schaltflächen ( {width="15"}, {width="20"} und {width="20"}) Fügen Sie in der Symbolleiste den entsprechenden Aufruf innerhalb des
ATTrackingManager.trackingAuthorizationStatus == .authorized
-Schließens hinzu:-
Für {width="15"}
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Für {width="20"}
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Für {width="20"}
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
-
-
java.util.Map
) als grundlegende Schnittstelle, um Ihre XDM-Payload zu erstellen.Benutzerdefinierte Feldergruppen
Stellen Sie sich vor, Sie möchten Bildschirmansichten und Interaktionen in der App selbst verfolgen. Denken Sie daran, für diesen Ereignistyp eine benutzerdefinierte Feldergruppe definiert zu haben.
-
Identifizieren Sie in Ihrem Schema die Ereignisse, die Sie erfassen möchten.
-
Beginnen Sie mit der Erstellung 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, in diesem Beispiel
_techmarketingdemos
.
Für das App-Interaktionsereignis erstellen Sie ein Objekt wie:
code language-swift let xdmData: [String: Any] = [ "eventType": "application.interaction", "_techmarketingdemos": [ "appInformation": [ "appInteraction": [ "name": "login", "appAction": [ "value": 1 ] ] ] ] ]
Für das Screeningereignis erstellen Sie ein Objekt wie:
code language-swift var xdmData: [String: Any] = [ "eventType": "application.scene", "_techmarketingdemos": [ "appInformation": [ "appStateDetails": [ "screenType": "App", "screenName": "luma: content: ios: us: en: login", "screenView": [ "value": 1 ] ] ] ] ]
-
-
Sie können diese Datenstruktur jetzt verwenden, um eine
ExperienceEvent
zu erstellen.code language-swift let event = ExperienceEvent(xdm: xdmData)
-
Senden Sie das Ereignis und die Daten an Platform Edge Network.
code language-swift Edge.sendEvent(experienceEvent: event)
Erneut lassen Sie diesen Code in Ihr Xcode-Projekt implementieren.
-
Zur Vereinfachung definieren Sie zwei Funktionen in MobileSDK. Navigieren Sie im Xcode-Projektnavigator zu Luma > Luma > Utils > MobileSDK .
-
Eine für App-Interaktionen. Fügen Sie diesen Code zur Funktion
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-Nutzlast als Wörterbuch ein, indem der Parameter aus der Funktion verwendet wird,
- richtet mithilfe des Wörterbuchs ein Erlebnisereignis ein,
- sendet das Erlebnisereignis mit der API
Edge.sendEvent
.
-
Und eine für die Bildschirmverfolgung. Fügen Sie diesen Code zur Funktion
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-Nutzlast als Wörterbuch ein, indem der Parameter aus der Funktion verwendet wird,
- richtet mithilfe des Wörterbuchs ein Erlebnisereignis ein,
- sendet das Erlebnisereignis mit der API
Edge.sendEvent
.
-
-
Navigieren Sie zu Luma > Luma > Views > General > LoginSheet.
-
Fügen Sie den folgenden hervorgehobenen Code zum Schließen der Anmelde-Schaltfläche hinzu:
code language-swift // Send app interaction event MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
-
Fügen Sie den folgenden hervorgehobenen Code zum Modifikator
onAppear
hinzu:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
Validierung
-
Lesen Sie den Abschnitt Einrichtungsanweisungen , um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Verschieben Sie das Assurance-Symbol nach links.
-
Wählen Sie Home in der Registerkartenleiste aus und überprüfen Sie, ob auf dem Startbildschirm eine ECID, eine E-Mail und eine CRM-ID angezeigt werden.
-
Wählen Sie in der Registerkartenleiste Products aus.
-
Wählen Sie ein Produkt.
-
Auswählen {width="15"}.
-
Auswählen {width="20"}.
-
Auswählen {width="15"}.
{width="300"}
-
-
Suchen Sie in der Assurance-Benutzeroberfläche vom Anbieter com.adobe.edge.conductor nach den Ereignissen hitReceived .
-
Wählen Sie das Ereignis aus und überprüfen Sie die XDM-Daten im Objekt messages . Alternativ können Sie Roh-Ereignis kopieren verwenden und einen Text- oder Code-Editor Ihrer Voreinstellung verwenden, um das Ereignis einzufügen und zu untersuchen.
Nächste Schritte
Sie sollten jetzt über alle Tools verfügen, um Ihrer App die Datenerfassung hinzuzufügen. Sie können mehr Informationen darüber hinzufügen, wie der Benutzer mit Ihren Produkten in der App interagiert, und Sie können der App weitere App-Interaktionen und Screentracking-Aufrufe hinzufügen:
- Implementieren Sie die App, indem Sie Bestellungen, Checkout, leeren Warenkorb und andere Funktionen hinzufügen und relevante Commerce-Erlebnisereignisse zu dieser Funktion hinzufügen.
- 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 die Ereignisse erfasst und an Platform Edge Network gesendet haben, werden sie an die Anwendungen und Dienste gesendet, die in Ihrem Datastream konfiguriert sind. 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: Verarbeiten von WebViews