Spåra händelsedata
Lär dig spåra händelser i en mobilapp.
Tillägget Edge Network tillhandahåller ett API för att skicka Experience Events till Platform Edge Network. En Experience Event är ett objekt som innehåller data som överensstämmer med XDM ExperienceEvent-schemadefinitionen. Enklare är det att de fångar upp vad andra gör i mobilappen. När data har tagits emot av Platform Edge Network kan de vidarebefordras till program och tjänster som konfigurerats i ditt datastam, som Adobe Analytics och Experience Platform. Läs mer om Experience Events i produktdokumentationen.
Förhandskrav
- Alla paketberoenden finns på plats i Xcode-projektet.
- Registrerade tillägg i AppDelegate.
- MobileCore-tillägget har konfigurerats för att använda din utveckling
appId
. - Importerade SDK:er.
- Programmet har skapats och körts med ändringarna ovan.
Utbildningsmål
I den här lektionen ska du
- Lär dig strukturera XDM-data baserat på ett schema.
- Skicka en XDM-händelse baserad på en standardfältgrupp.
- Skicka en XDM-händelse baserad på en anpassad fältgrupp.
- Skicka en XDM-köphändelse.
- Validera med Assurance.
Skapa en upplevelsehändelse
Adobe Experience Platform Edge-tillägget kan skicka händelser som följer ett tidigare definierat XDM-schema till Adobe Experience Platform Edge Network.
Processen går så här…
-
Identifiera den mobilappsinteraktion du försöker spåra.
-
Granska ditt schema och identifiera rätt händelse.
-
Granska ditt schema och identifiera eventuella ytterligare fält som ska användas för att beskriva händelsen.
-
Skapa och fyll i dataobjektet.
-
Skapa och skicka-händelse.
-
Validera.
Standardfältgrupper
För standardfältgrupperna ser processen ut så här:
-
Identifiera de händelser som du försöker samla in i ditt schema. I det här exemplet spårar du händelser för e-handelsupplevelser, till exempel en produktvyhändelse (productViews).
-
Om du vill konstruera ett objekt som innehåller händelsedata för upplevelsen i din app använder du kod som:
code language-swift var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ] ]
eventType
: Beskriver händelsen som inträffade, använd ett känt värde när det är möjligt.commerce.productViews.value
: händelsens numeriska eller booleska värde. Om det är ett booleskt värde (eller "Räknare" i Adobe Analytics) är värdet alltid 1. Om det är en numerisk händelse eller valutakändelse kan värdet vara > 1.
-
Identifiera eventuella ytterligare data som är associerade med händelsen för e-handelsproduktvyn i ditt schema. I det här exemplet inkluderar du productListItems, som är en standarduppsättning med fält som används med alla e-handelsrelaterade händelser:
- Observera att productListItems är en matris så att flera produkter kan anges.
-
Om du vill lägga till dessa data expanderar du objektet
xdmData
så att det innehåller ytterligare data:code language-swift var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ], "productListItems": [ [ "name": productName, "SKU": sku, "priceTotal": priceString, "quantity": 1 ] ] ]
-
Du kan nu använda den här datastrukturen för att skapa en
ExperienceEvent
:code language-swift let productViewEvent = ExperienceEvent(xdm: xdmData)
-
Och skicka händelsen och data till Platform Edge Network med API:t
sendEvent
:code language-swift Edge.sendEvent(experienceEvent: productViewEvent)
API:t Edge.sendEvent
är det AEP Mobile SDK som motsvarar API-anropen MobileCore.trackAction
och MobileCore.trackState
. Mer information finns i Migrera från mobiltillägget Analytics till Adobe Experience Platform Edge Network.
Du kommer nu att implementera den här koden i ditt Xcode-projekt.
Du har olika affärsproduktrelaterade åtgärder i din app och du vill skicka händelser baserat på de åtgärder som användaren har utfört:
-
vy: inträffar när en användare tittar på en viss produkt,
-
lägg till i kundvagn: när en användare trycker
{width="20"}
i en produktinformationsskärm,
-
spara för senare: när en användare trycker
{width="15"}
i en produktinformationsskärm,
-
köp: när en användare trycker
{width="20"}
i en produktinformationsskärm.
Om du vill implementera sändning av e-handelsrelaterade upplevelsehändelser på ett återanvändbart sätt använder du en dedikerad funktion:
-
Navigera till Luma > Luma > Utils > MobileSDK i Xcode Project navigator och lägg till följande i funktionen
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
.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)
Den här funktionen tar händelsetypen och produkten för upplevelseupplevelsen som parametrar och
- ställer in XDM-nyttolasten som en ordlista med hjälp av funktionens parametrar,
- ställer in en upplevelsehändelse med hjälp av ordlistan,
- skickar upplevelsehändelsen med API:t
Edge.sendEvent
.
-
Navigera till Luma > Luma > Views > Products > ProductView i Xcode Project navigator och lägg till olika anrop till funktionen
sendCommerceExperienceEvent
:-
Vid modifieraren
.task
, inom stängningen avATTrackingManager.trackingAuthorizationStatus
. Den här.task
-modifieraren anropas när produktvyn initieras och visas, så du vill skicka en produktvyhändelse vid det tillfället.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
För varje knapp ( {width="15"}, {width="20"} och {width="20"}) i verktygsfältet lägger du till det relevanta samtalet i
ATTrackingManager.trackingAuthorizationStatus == .authorized
-stängningen:-
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
) som grundgränssnitt för att skapa din XDM-nyttolast.Anpassade fältgrupper
Tänk dig att du vill spåra skärmvisningar och interaktioner i själva appen. Kom ihåg att du har definierat en anpassad fältgrupp för den här typen av händelser.
-
Identifiera de händelser du försöker samla in i ditt schema.
-
Börja konstruera objektet.
note note NOTE -
Standardfältgrupper börjar alltid i objektroten.
-
Anpassade fältgrupper börjar alltid under ett objekt som är unikt för din Experience Cloud-organisation,
_techmarketingdemos
i det här exemplet.
För programinteraktionshändelsen skapar du ett objekt som:
code language-swift let xdmData: [String: Any] = [ "eventType": "application.interaction", "_techmarketingdemos": [ "appInformation": [ "appInteraction": [ "name": "login", "appAction": [ "value": 1 ] ] ] ] ]
För händelsen skärmspårning skapar du ett objekt som:
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 ] ] ] ] ]
-
-
Du kan nu använda den här datastrukturen för att skapa en
ExperienceEvent
.code language-swift let event = ExperienceEvent(xdm: xdmData)
-
Skicka händelsen och data till Platform Edge Network.
code language-swift Edge.sendEvent(experienceEvent: event)
Här kan du implementera koden i Xcode-projektet.
-
För enkelhetens skull definierar du två funktioner i MobileSDK. Navigera till Luma > Luma > Utils > MobileSDK i Xcode Project-navigatorn.
-
Ett för appinteraktioner. Lägg till den här koden i funktionen
func sendAppInteractionEvent(actionName: String)
: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)
Den här funktionen använder åtgärdsnamnet som en parameter och
- ställer in XDM-nyttolasten som en ordlista med hjälp av parametern från funktionen,
- ställer in en upplevelsehändelse med hjälp av ordlistan,
- skickar upplevelsehändelsen med API:t
Edge.sendEvent
.
-
Och en för skärmspårning. Lägg till den här koden i funktionen
func sendTrackScreenEvent(stateName: String)
: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)
Den här funktionen använder lägesnamnet som en parameter och
- ställer in XDM-nyttolasten som en ordlista med hjälp av parametern från funktionen,
- ställer in en upplevelsehändelse med hjälp av ordlistan,
- skickar upplevelsehändelsen med API:t
Edge.sendEvent
.
-
-
Navigera till Luma > Luma > Views > General > LoginSheet.
-
Lägg till följande markerade kod i avslutningsknappen Inloggning:
code language-swift // Send app interaction event MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
-
Lägg till följande markerade kod i modifieraren
onAppear
:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
Validering
-
Granska avsnittet installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.
-
Flytta ikonen Assurance åt vänster.
-
Välj Home i flikfältet och kontrollera att du ser en ECID, Email och CRM ID på hemskärmen.
-
Välj Products i flikfältet.
-
Välj en produkt.
-
Välj {width="15"}.
-
Välj {width="20"}.
-
Välj {width="15"}.
{width="300"}
-
-
I Assurance UI söker du efter hitReceived-händelserna från com.adobe.edge.konductor-leverantören.
-
Markera händelsen och granska XDM-data i objektet messages. Du kan också använda Copy Raw Event och en text- eller kodredigerare som du föredrar för att klistra in och inspektera händelsen.
Nästa steg
Nu bör du ha alla verktyg du behöver för att börja lägga till datainsamling i appen. Du kan lägga till mer information om hur användaren interagerar med dina produkter i appen och du kan lägga till fler appinteraktioner och skärmsspårningsanrop till appen:
- Implementera beställning, utcheckning, tom varukorg och andra funktioner i appen och lägg till relevanta händelser för e-handelsupplevelser i den här funktionen.
- Upprepa anropet till
sendAppInteractionEvent
med rätt parameter för att spåra andra appinteraktioner av användaren. - Upprepa anropet till
sendTrackScreenEvent
med rätt parameter för att spåra skärmar som visas av användaren i appen.
Skicka händelser till Analytics och Platform
Nu när du har samlat in händelserna och skickat dem till Platform Edge Network skickas de till de program och tjänster som konfigurerats i datastream. I senare lektioner mappar du dessa data till Adobe Analytics, Adobe Experience Platform och andra Adobe Experience Cloud-lösningar som Adobe Target och Adobe Journey Optimizer.
Nästa: Hantera WebViews