Gebeurtenisgegevens bijhouden
Leer hoe u gebeurtenissen in een mobiele app kunt bijhouden.
De Edge Network-extensie biedt een API waarmee u ervaringsgebeurtenissen kunt verzenden naar het Platform Edge Network. Een ervaringsgebeurtenis is een object dat gegevens bevat die voldoen aan de XDM ExperienceEvent-schemadefinitie. Meer eenvoudig, deze gebeurtenissen vangen wat mensen in uw mobiele app doen. Zodra het Platform Edge Network gegevens ontving, kunnen die gegevens aan toepassingen en de diensten worden door:sturen die in uw gegevensstroom, zoals Adobe Analytics en Experience Platform worden gevormd. Leer meer over de Gebeurtenissen van de Ervaringin de productdocumentatie.
Vereisten
- Alle pakketgebiedsdelen worden gevormd in uw project Xcode.
- Geregistreerde extensies in AppDelegate .
- De geconfigureerde MobileCore-extensie voor gebruik van uw ontwikkeling
appId
. - Geïmporteerde SDK's.
- De app is gemaakt en uitgevoerd met de bovenstaande wijzigingen.
Leerdoelstellingen
In deze les zult u
- Begrijp hoe te om XDM gegevens te structureren die op een schema worden gebaseerd.
- Verzend een XDM-gebeurtenis op basis van een standaardveldgroep.
- Verzend een XDM-gebeurtenis op basis van een aangepaste veldgroep.
- Verzend een XDM-aankoopgebeurtenis.
- Valideren met Assurance.
Een ervaringsgebeurtenis maken
De Adobe Experience Platform Edge-extensie kan gebeurtenissen die een eerder gedefinieerd XDM-schema volgen, naar Adobe Experience Platform Edge Network verzenden.
Het proces gaat als volgt…
-
Identificeer de mobiele toepassingsinteractie die u probeert te volgen.
-
Herzie uw schema en identificeer de aangewezen gebeurtenis.
-
Controleer uw schema en identificeer om het even welke extra gebieden die zouden moeten worden gebruikt om de gebeurtenis te beschrijven.
-
Hiermee wordt het gegevensobject samengesteld en gevuld.
-
Maak en verzend gebeurtenis.
-
Valideren.
Standaardveldgroepen
Voor de standaardveldgroepen ziet het proces er als volgt uit:
-
In uw schema, identificeer de gebeurtenissen die u probeert te verzamelen. In dit voorbeeld volgt u de gebeurtenissen van de handelservaring, bijvoorbeeld een gebeurtenis van de productmening (productViews).
-
Als u een object wilt maken dat de ervaringsgebeurtenisgegevens in uw app bevat, gebruikt u de volgende code:
code language-swift |
---|
|
In deze code:
-
eventType
: Beschrijft de gebeurtenis die voorkwam, gebruik a bekende waardewanneer mogelijk. -
commerce.productViews.value
: de numerieke of Booleaanse waarde van de gebeurtenis. Als het een Booleaanse waarde (of "Teller" in Adobe Analytics) is, wordt de waarde altijd ingesteld op 1. Als het een numerieke of valutagebeurtenis is, kan de waarde > 1 zijn.
code language-kotlin |
---|
|
In deze code:
-
eventType
: Beschrijft de gebeurtenis die voorkwam, gebruik a bekende waardewanneer mogelijk. -
commerce.productViews.value
: de numerieke of Booleaanse waarde van de gebeurtenis. Als het een Booleaanse waarde (of "Teller" in Adobe Analytics) is, wordt de waarde altijd ingesteld op 1. Als het een numerieke of valutagebeurtenis is, kan de waarde > 1 zijn.
-
In uw schema, identificeer om het even welke extra gegevens verbonden aan de gebeurtenis van de de meningsmening van het handelsproduct. In dit voorbeeld neemt u productListItems op. Dit is een standaardset velden die worden gebruikt met aan handel gerelateerde gebeurtenissen:
* **productListItems** is een array, zodat meerdere producten kunnen worden geleverd.
-
Als u deze gegevens wilt toevoegen, vouwt u het
xdmData
-object uit om aanvullende gegevens op te nemen:
code language-swift |
---|
|
code language-kotlin |
---|
|
- U kunt deze gegevensstructuur nu gebruiken om een
ExperienceEvent
te maken:
code language-swift |
---|
|
code language-kotlin |
---|
|
- En verzend de gebeurtenis en de gegevens naar Platform Edge Network met behulp van de
sendEvent
API:
code language-swift |
---|
|
code language-kotlin |
---|
|
De Edge.sendEvent
API is de AEP Mobile SDK equivalent aan de MobileCore.trackAction
en MobileCore.trackState
API vraag. Zie van de mobiele uitbreiding van Analytics aan Adobe Experience Platform Edge Networkvoor meer informatie migreren.
U gaat nu deze code in uw project uitvoeren.
U hebt verschillende acties met betrekking tot handelsproducten in uw app en u wilt gebeurtenissen verzenden op basis van deze acties die door de gebruiker worden uitgevoerd:
- weergave: vindt plaats wanneer een gebruiker een specifiek product weergeeft,
- toevoegen aan kar: wanneer een gebruiker
- sparen voor later: wanneer een gebruiker
- aankoop: wanneer een gebruiker
Om het verzenden van aan handel gerelateerde ervaringsgebeurtenissen op een herbruikbare manier uit te voeren, gebruikt u een specifieke functie:
-
Navigeer naar Luma > Luma > Utils > MobileSDK in Xcode Project navigator en voeg het volgende toe aan de
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
functie.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)
Deze functie neemt het type en het product van de handelservaring als parameters en
- stelt de XDM-payload in als een woordenboek, waarbij de parameters van de functie worden gebruikt;
- stelt een ervaringsgebeurtenis op met behulp van het woordenboek;
- verzendt de ervaringsgebeurtenis gebruikend
Edge.sendEvent
API.
-
Navigeer naar Luma > Luma > Views > Products > ProductView in de Xcode-projectnavigator en voeg verschillende aanroepen toe aan de functie
sendCommerceExperienceEvent
:-
Bij de
.task
-modifier, binnen deATTrackingManager.trackingAuthorizationStatus
-closure. Deze optie.task
wordt aangeroepen wanneer de productweergave wordt geïnitialiseerd en weergegeven, zodat u op dat specifieke moment een productweergave-gebeurtenis wilt verzenden.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
Voor elk van de knopen (
ATTrackingManager.trackingAuthorizationStatus == .authorized
sluiting toe:-
Voor
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Voor
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Voor
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
-
-
-
Navigeer aan Android
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
functie toe.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)
Deze functie neemt het type en het product van de handelservaring als parameters en
- stelt de XDM nuttige lading als kaart, gebruikend de parameters van de functie op;
- stelt een ervaringsgebeurtenis op met behulp van de kaart;
- verzendt de ervaringsgebeurtenis gebruikend
Edge.sendEvent
API.
-
Navigeer naar app > kotlin+java > com.adobe.luma.tutorial.android > views > ProductView.kt in de Android Studio-navigator en voeg verschillende aanroepen toe aan de functie
sendCommerceExperienceEvent
:-
Bij de functie
LaunchedEffect(Unit)
composable wilt u een productweergave-gebeurtenis verzenden op het specifieke moment dat een product wordt weergegeven.code language-kotlin // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("productViews", product)
-
Voor elk van de knopen (
scope.launch
vanif (MobileSDK.shared.trackingEnabled == TrackingStatus.AUTHORIZED) statement
toe:-
Voor
code language-kotlin // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("saveForLaters", product)
-
Voor
code language-kotlin // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("productListAdds", product)
-
Voor
code language-kotlin // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("purchases", product)
-
-
java.util.Map
) als stichtingsinterface om uw nuttige lading XDM te construeren.Aangepaste veldgroepen
Stel dat u schermweergaven en interacties wilt bijhouden in de app zelf. U hebt een aangepaste veldgroep voor dit type gebeurtenissen gedefinieerd.
-
In uw schema, identificeer de gebeurtenissen u probeert te verzamelen.
-
Constructie van het object beginnen.
note note NOTE -
Standaardveldgroepen beginnen altijd in de hoofdmap van het object.
-
Groepen met aangepaste velden beginnen altijd onder een object dat uniek is voor uw Experience Cloud-organisatie,
_techmarketingdemos
in dit voorbeeld.
-
-
Voor de toepassingsinteractiegebeurtenis maakt u een object als:
code language-swift |
---|
|
code language-kotlin |
---|
|
- Voor de gebeurtenis screen tracking zou u een object maken zoals:
code language-swift |
---|
|
code language-kotlin |
---|
|
- U kunt deze gegevensstructuur nu gebruiken om een
ExperienceEvent
te maken.
code language-swift |
---|
|
code language-kotlin |
---|
|
- Verzend de gebeurtenis en gegevens naar Platform Edge Network.
code language-swift |
---|
|
code language-kotlin |
---|
|
Implementeer deze code opnieuw in uw project.
-
Voor het gemak definieert u twee functies in MobileSDK . Navigeer naar Luma > Luma > Utils > MobileSDK in de Xcode-projectnavigator.
-
Een voor app-interacties. Voeg deze code toe aan de functie
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)
Deze functie gebruikt de naam van de handeling als parameter en
- stelt de XDM-payload in als een woordenboek, waarbij de parameter van de functie wordt gebruikt;
- stelt een ervaringsgebeurtenis op met behulp van het woordenboek;
- verzendt de ervaringsgebeurtenis gebruikend
Edge.sendEvent
API.
-
En één voor het volgen van het scherm. Voeg deze code toe aan de functie
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)
Deze functie gebruikt de statusnaam als parameter en
- stelt de XDM-payload in als een woordenboek, waarbij de parameter van de functie wordt gebruikt;
- stelt een ervaringsgebeurtenis op met behulp van het woordenboek;
- verzendt de ervaringsgebeurtenis gebruikend
Edge.sendEvent
API.
-
-
Navigeer naar Luma > Luma > Views > General > LoginSheet .
-
Voeg de volgende gemarkeerde code toe aan de knop Aanmelden:
code language-swift // Send app interaction event MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
-
Voeg de volgende gemarkeerde code toe aan de optie
onAppear
:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
-
Voor het gemak definieert u twee functies in MobileSDK . Navigeer aan Android
-
Een voor app-interacties. Voeg deze code toe aan de functie
fun sendAppInteractionEvent(actionName: String)
: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)
Deze functie gebruikt de naam van de handeling als parameter en
- stelt de XDM nuttige lading als kaart, gebruikend de parameter van de functie op;
- stelt een ervaringsgebeurtenis op met behulp van de kaart;
- verzendt de ervaringsgebeurtenis gebruikend
Edge.sendEvent
API.
-
En één voor het volgen van het scherm. Voeg deze code toe aan de functie
fun sendTrackScreenEvent(stateName: String)
: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)
Deze functie gebruikt de statusnaam als parameter en
- stelt de XDM nuttige lading als kaart, gebruikend de parameter van de functie op;
- stelt een ervaringsgebeurtenis op met behulp van de kaart;
- verzendt de ervaringsgebeurtenis gebruikend
Edge.sendEvent
API.
-
-
Ga aan Android
-
Voeg de volgende gemarkeerde code toe aan de gebeurtenis Button onClick :
code language-kotlin // Send app interaction event MobileSDK.shared.sendAppInteractionEvent("login")
-
Voeg de volgende gemarkeerde code toe aan de functie
LaunchedEffect(Unit)
composable:code language-kotlin // Send track screen event MobileSDK.shared.sendTrackScreenEvent("luma: content: android: us: en: login")
-
Validatie
-
Herzie de sectie van opstellingsinstructiesom uw simulator of apparaat met Assurance te verbinden.
- Het Assurance-pictogram naar links verplaatsen.
- Selecteer Home in de tabbalk en controleer of de ECID , Email en CRM ID in het scherm Home worden weergegeven.
- Selecteer Products in de tabbalk.
- Selecteer een product.
- Selecteer
- Selecteer
- Selecteer


-
Zoek in de gebruikersinterface van Assurance naar de hitReceived -gebeurtenissen van de com.adobe.edge.konductor -leverancier.
-
Selecteer de gebeurtenis en bekijk de XDM-gegevens in het messages -object. Alternatief, kunt u
Volgende stappen
U moet nu over alle gereedschappen beschikken om gegevensverzameling aan uw app toe te voegen. U kunt meer informatie toevoegen over de manier waarop de gebruiker in de app met uw producten werkt en u kunt meer oproepen voor interactie tussen de apps en het bijhouden van schermen toevoegen aan de app:
- Implementeer de opdracht, kassa, lege mand en andere functionaliteit van de app en voeg relevante gebeurtenissen uit de handelservaring toe aan deze functionaliteit.
- Herhaal de aanroep van
sendAppInteractionEvent
met de juiste parameter om andere toepassingsinteracties van de gebruiker bij te houden. - Herhaal de aanroep van
sendTrackScreenEvent
met de juiste parameter om schermen bij te houden die door de gebruiker in de app worden weergegeven.
Gebeurtenissen verzenden naar Analytics en Platform
Nu u de gebeurtenissen hebt verzameld en hen verzonden naar Platform Edge Network, worden zij verzonden naar de toepassingen en de diensten die in uw worden gevormd datastream. In recentere lessen, brengt u deze gegevens in kaart aan Adobe Analytics, Adobe Experience Platform, en andere oplossingen van Adobe Experience Cloud (als Adobe Targeten Adobe Journey Optimizer).
Volgende: Handle WebViews