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 vom 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 zum Erlebnisereignisse in der Produktdokumentation.
Voraussetzungen
- Alle Paketabhängigkeiten sind in Ihrem Xcode-Projekt vorhanden.
- Registrierte Erweiterungen in AppDelegate.
- Konfigurierte MobileCore-Erweiterung zur Verwendung Ihrer Entwicklung
appId
. - 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.
- Validieren mit Assurance.
Erstellen eines Erlebnisereignisses
Die Adobe Experience Platform Edge-Erweiterung kann Ereignisse senden, die einem zuvor definierten XDM-Schema folgen, an 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. eine Produktansicht (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 aufgetretene Ereignis und verwendet eine bekannter Wert nach Möglichkeit.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. Fügen Sie in diesem Beispiel productListItems Dies ist ein Standardsatz von Feldern, die mit jedem Commerce-bezogenen Ereignis verwendet werden:
- Beachten Sie Folgendes: productListItems ist ein Array, sodass mehrere Produkte bereitgestellt werden können.
-
Um diese Daten hinzuzufügen, erweitern Sie Ihre
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 jetzt verwenden, um eine
ExperienceEvent
:code language-swift let productViewEvent = ExperienceEvent(xdm: xdmData)
-
Senden Sie das Ereignis und die Daten mithilfe des
sendEvent
API:code language-swift Edge.sendEvent(experienceEvent: productViewEvent)
Die Edge.sendEvent
Die API entspricht dem AEP Mobile SDK . MobileCore.trackAction
und MobileCore.trackState
API-Aufrufe. Siehe Migration von der mobilen Analytics-Erweiterung zu Adobe Experience Platform Edge Network für weitere Informationen.
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
img-md w-20 in einem Produktdetailbildschirm,
-
für später speichern: wenn ein Benutzer auf
img-md w-15 in einem Produktdetailbildschirm,
-
purchase: wenn ein Benutzer auf
img-md w-20 in einem Produktdetailbildschirm.
Um das Senden von Commerce-bezogenen Erlebnisereignissen wiederverwendbar zu machen, verwenden Sie eine dedizierte Funktion:
-
Navigieren Sie zu Luma > Luma > Utils > MobileSDK im Xcode-Projekt-Navigator und fügen Sie Folgendes zum
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
-Funktion.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
Edge.sendEvent
API.
-
Navigieren Sie zu Luma > Luma > Views > Products > ProductView im Xcode-Projektnavigator und fügen Sie verschiedene Aufrufe zum
sendCommerceExperienceEvent
Funktion:-
Im
.task
-Modifikator innerhalb derATTrackingManager.trackingAuthorizationStatus
Schließung. Diese.task
-Modifikator wird aufgerufen, wenn die Produktansicht initialisiert und angezeigt wird. Daher möchten Sie zu diesem bestimmten Zeitpunkt ein Produktansichtsereignis senden.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
Für jede der Schaltflächen (+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+,+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+und+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+) in der Symbolleiste den entsprechenden Aufruf innerhalb der
ATTrackingManager.trackingAuthorizationStatus == .authorized
Stilllegung:1. Für+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+
+----------------------------------------------------------------------------------------------------+ | code language-swift | +====================================================================================================+ |
| | // Send saveForLater commerce experience event | | MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product) | |
| +----------------------------------------------------------------------------------------------------+2. Für+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+
+------------------------------------------------------------------------------------------------------+ | code language-swift | +======================================================================================================+ |
| | // Send productListAdds commerce experience event | | MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product) | |
| +------------------------------------------------------------------------------------------------------+3. Für+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+
+------------------------------------------------------------------------------------------------+ | code language-swift | +================================================================================================+ |
| | // Send purchase commerce experience event | | MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product) | |
| +------------------------------------------------------------------------------------------------+
-
java.util.Map
) als grundlegende Schnittstelle zum Erstellen Ihrer XDM-Payload.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.
_techmarketingdemos
in diesem Beispiel.
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
.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 zu Luma > Luma > Utils > MobileSDK in Ihrem Xcode-Projektnavigator.
-
Eine für App-Interaktionen. Fügen Sie diesen Code zum
func sendAppInteractionEvent(actionName: String)
Funktion: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
Edge.sendEvent
API.
-
Und eine für die Bildschirmverfolgung. Fügen Sie diesen Code zum
func sendTrackScreenEvent(stateName: String)
Funktion: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
Edge.sendEvent
API.
-
-
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 zu
onAppear
modifier:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
Validierung
-
Überprüfen Sie die Einrichtungsanweisungen -Abschnitt, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Verschieben Sie das Symbol "Versicherung"nach links.
-
Auswählen Startseite in der Registerkartenleiste und überprüfen Sie, ob eine ECID, Email, und CRM-ID im Startbildschirm.
-
Auswählen Products in der Symbolleiste.
-
Wählen Sie ein Produkt.
-
Auswählen+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+.
-
Auswählen+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+.
-
Auswählen+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+.
img-md w-300
-
-
Suchen Sie in der Assurance-Benutzeroberfläche nach der hitReceived -Ereignisse aus com.adobe.edge.konductor -Anbieter.
-
Wählen Sie das Ereignis aus und überprüfen Sie die XDM-Daten im messages -Objekt. Alternativ können Sie Rohereignis kopieren und verwenden Sie einen Text- oder Code-Editor Ihrer Voreinstellung, 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 zur Verfolgung der Bildschirme, die vom Benutzer in der App angezeigt wurden.
Senden von Ereignissen an Analytics und Platform
Nachdem Sie die Ereignisse erfasst und an das Platform Edge Network gesendet haben, werden sie an die in Ihrer datastream. In späteren Lektionen ordnen Sie diese Daten zu Adobe Analytics, Adobe Experience Platformund anderen Adobe Experience Cloud-Lösungen wie Adobe Target und Adobe Journey Optimizer.
Weiter: WebViews verarbeiten