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…

  1. Identifizieren Sie die Mobile App-Interaktion, die Sie verfolgen möchten.

  2. Überprüfen Sie Ihr Schema und identifizieren Sie das entsprechende Ereignis.

  3. Überprüfen Sie Ihr Schema und identifizieren Sie alle zusätzlichen Felder, die zur Beschreibung des Ereignisses verwendet werden sollen.

  4. Erstellen und füllen Sie das Datenobjekt.

  5. Ereignis erstellen und senden.

  6. 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).

    Produktansichtsschema

  • 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:

    Schema der Produktlistenelemente

    • 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:

  1. 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.
  2. Navigieren Sie zu Luma > Luma > Views > Products > ProductView im Xcode-Projektnavigator und fügen Sie verschiedene Aufrufe zum sendCommerceExperienceEvent Funktion:

    1. Im .task -Modifikator innerhalb der ATTrackingManager.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)
      
    2. 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) | | | +------------------------------------------------------------------------------------------------+

TIP
Wenn Sie sich für Android™ entwickeln, verwenden Sie Map (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.
    App-Interaktionsschema

  • 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.

  1. Zur Vereinfachung definieren Sie zwei Funktionen in MobileSDK. Navigieren Sie zu Luma > Luma > Utils > MobileSDK in Ihrem Xcode-Projektnavigator.

    1. 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.
    2. 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.
  2. Navigieren Sie zu Luma > Luma > Views > General > LoginSheet.

    1. 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")
      
    2. 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

  1. Überprüfen Sie die Einrichtungsanweisungen -Abschnitt, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.

    1. Verschieben Sie das Symbol "Versicherung"nach links.

    2. Auswählen Startseite in der Registerkartenleiste und überprüfen Sie, ob eine ECID, Email, und CRM-ID im Startbildschirm.

    3. Auswählen Products in der Symbolleiste.

    4. Wählen Sie ein Produkt.

    5. Auswählen+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+.

    6. Auswählen+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+.

    7. Auswählen+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+.

      img-md
      w-300
  2. Suchen Sie in der Assurance-Benutzeroberfläche nach der hitReceived -Ereignisse aus com.adobe.edge.konductor -Anbieter.

  3. Wählen Sie das Ereignis aus und überprüfen Sie die XDM-Daten im messages -Objekt. Alternativ können Sie Kopieren Rohereignis kopieren und verwenden Sie einen Text- oder Code-Editor Ihrer Voreinstellung, um das Ereignis einzufügen und zu untersuchen.

    Datenerfassungsprüfung

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.
TIP
Überprüfen Sie die fertige App für weitere Beispiele.

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.

SUCCESS
Sie haben Ihre App jetzt so eingerichtet, dass sie Commerce-, App-Interaktionen- und Bildschirmverfolgungsereignisse im Adobe Experience Platform Edge Network und allen in Ihrem Datastream definierten Diensten verfolgt.
Vielen Dank, dass Sie Ihre Zeit investiert haben, um mehr über das Adobe Experience Platform Mobile SDK zu erfahren. Wenn Sie Fragen haben, ein allgemeines Feedback oder Vorschläge zu künftigen Inhalten teilen möchten, teilen Sie diese hier mit. Experience League Community-Diskussionsbeitrag.

Weiter: WebViews verarbeiten

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b