Gebeurtenisgegevens bijhouden
Leer hoe u gebeurtenissen in een mobiele app kunt bijhouden.
De extensie Edge Network biedt een API om Experience Events naar Platform Edge Network te verzenden. Een Experience Event is een object dat gegevens bevat die voldoen aan de XDM ExperienceEvent-schemadefinitie. Meer eenvoudig, vangen zij wat mensen in uw mobiele app doen. Zodra het gegeven door de Edge Network van het Platform wordt ontvangen, kan het aan toepassingen en de diensten 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 zijn op zijn plaats in uw project van 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 extensie Adobe Experience Platform Edge 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 var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ] ]
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 var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ], "productListItems": [ [ "name": productName, "SKU": sku, "priceTotal": priceString, "quantity": 1 ] ] ]
-
U kunt deze gegevensstructuur nu gebruiken om een
ExperienceEvent
te maken:code language-swift let productViewEvent = ExperienceEvent(xdm: xdmData)
-
En verzend de gebeurtenis en de gegevens naar de Edge Network van het Platform gebruikend
sendEvent
API:code language-swift Edge.sendEvent(experienceEvent: productViewEvent)
De Edge.sendEvent
API is het equivalent van AEP Mobile SDK aan de MobileCore.trackAction
en MobileCore.trackState
API vraag. Zie migreren van Mobiele uitbreiding van Analytics aan de Edge Network van Adobe Experience Platformvoor meer informatie.
U gaat nu eigenlijk deze code in uw project van Xcode 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 winkelwagentje: wanneer een gebruiker tikt
{width="20"}
in een productdetailscherm,
-
opslaan voor later: wanneer een gebruiker op tikt
{width="15"}
in een productdetailscherm,
-
aankoop: wanneer een gebruiker tikt
{width="20"}
in een productdetailscherm.
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 knoppen ( {width="15"} , {width="20"} en {width="20"}) voegt u in de werkbalk de relevante aanroep toe in de map
ATTrackingManager.trackingAuthorizationStatus == .authorized
closure:-
Voor {width="15"}:
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Voor {width="20"}:
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Voor {width="20"}:
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: 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 aangepaste velden beginnen altijd onder een object dat uniek is voor uw Experience Cloud Org,
_techmarketingdemos
in dit voorbeeld.
Voor de toepassingsinteractiegebeurtenis maakt u een object als:
code language-swift let xdmData: [String: Any] = [ "eventType": "application.interaction", "_techmarketingdemos": [ "appInformation": [ "appInteraction": [ "name": "login", "appAction": [ "value": 1 ] ] ] ] ]
Voor de gebeurtenis screen tracking zou u een object maken zoals:
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 ] ] ] ] ]
-
-
U kunt deze gegevensstructuur nu gebruiken om een
ExperienceEvent
te maken.code language-swift let event = ExperienceEvent(xdm: xdmData)
-
Verzend de gebeurtenis en de gegevens naar de Edge Network van het Platform.
code language-swift Edge.sendEvent(experienceEvent: event)
Nogmaals, laten eigenlijk deze code in uw project van Xcode uitvoeren.
-
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")
-
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.
-
Selecteren {width="15"}.
-
Selecteren {width="20"}.
-
Selecteren {width="15"}.
{width="300"}
-
-
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 gebruiken Copy Raw Event en een tekst of coderedacteur van uw voorkeur gebruiken om de gebeurtenis te kleven en te inspecteren.
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 de Edge Network van het Platform, 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 zoals Adobe Targeten Adobe Journey Optimizer.
Volgende: Handle WebViews