Tracciare i dati dell’evento
Scopri come tracciare gli eventi in un’app mobile.
L’estensione Edge Network fornisce un’API per inviare eventi esperienza a Platform Edge Network. Un Experience Event è un oggetto che contiene dati conformi alla definizione dello schema XDM ExperienceEvent. Più semplicemente, acquisiscono ciò che le persone fanno nella tua app mobile. Una volta ricevuti i dati da Platform Edge Network, questi possono essere inoltrati alle applicazioni e ai servizi configurati nel flusso di dati, come Adobe Analytics e Experienci Platform. Ulteriori informazioni su Eventi esperienza nella documentazione del prodotto.
Prerequisiti
- Tutte le dipendenze del pacchetto sono presenti nel progetto Xcode.
- Estensioni registrate in AppDelegate.
- Estensione MobileCore configurata per utilizzare il tuo sviluppo
appId
. - SDK importati.
- L'app è stata creata ed eseguita correttamente con le modifiche precedenti.
Obiettivi di apprendimento
In questa lezione, potrai
- Scopri come strutturare i dati XDM in base a uno schema.
- Invia un evento XDM basato su un gruppo di campi standard.
- Invia un evento XDM basato su un gruppo di campi personalizzato.
- Invia un evento di acquisto XDM.
- Convalida con Assurance.
Creazione di un evento esperienza
L’estensione Adobe Experience Platform Edge può inviare a Adobe Experience Platform Edge Network eventi che seguono uno schema XDM definito in precedenza.
Il processo è simile a questo…
-
Identifica l’interazione con l’app mobile che stai tentando di tracciare.
-
Esamina lo schema e identifica l’evento appropriato.
-
Esamina lo schema e identifica eventuali campi aggiuntivi da utilizzare per descrivere l’evento.
-
Costruisci e popola l’oggetto dati.
-
Crea e invia evento.
-
Convalida.
Gruppi di campi standard
Per i gruppi di campi standard, il processo è simile al seguente:
-
Nello schema, identifica gli eventi che stai tentando di raccogliere. In questo esempio tieni traccia degli eventi di esperienza di e-commerce, ad esempio una visualizzazione di prodotto (productViews).
-
Per creare un oggetto contenente i dati dell’evento esperienza nell’app, puoi utilizzare un codice come:
code language-swift var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ] ]
eventType
: descrive l’evento che si è verificato, utilizza un valore noto quando possibile.commerce.productViews.value
: valore numerico o booleano dell’evento. Se è un valore booleano (o "Contatore" in Adobe Analytics), il valore è sempre impostato su 1. Se è un evento numerico o di valuta, il valore può essere > 1.
-
Nello schema, identifica eventuali dati aggiuntivi associati all’evento di visualizzazione del prodotto Commerce. In questo esempio, includi productListItems che è un set standard di campi utilizzati con qualsiasi evento correlato a commerce:
- Tieni presente che productListItems è un array che consente di fornire più prodotti.
-
Per aggiungere questi dati, espandi il tuo
xdmData
oggetto da includere dati supplementari:code language-swift var xdmData: [String: Any] = [ "eventType": "commerce.productViews", "commerce": [ "productViews": [ "value": 1 ] ], "productListItems": [ [ "name": productName, "SKU": sku, "priceTotal": priceString, "quantity": 1 ] ] ]
-
Ora puoi utilizzare questa struttura dati per creare un’
ExperienceEvent
:code language-swift let productViewEvent = ExperienceEvent(xdm: xdmData)
-
E invia evento e dati a Platform Edge Network utilizzando
sendEvent
API:code language-swift Edge.sendEvent(experienceEvent: productViewEvent)
Il Edge.sendEvent
API è l'SDK di AEP Mobile equivalente al MobileCore.trackAction
e MobileCore.trackState
Chiamate API. Consulta Migrazione dall’estensione Analytics per dispositivi mobili a Adobe Experience Platform Edge Network per ulteriori informazioni.
Ora stai per implementare effettivamente questo codice nel tuo progetto Xcode.
Nell’app sono presenti diverse azioni relative al prodotto commerce e desideri inviare eventi, in base alle azioni eseguite dall’utente:
- view: si verifica quando un utente visualizza un prodotto specifico,
- aggiungi al carrello: quando un utente tocca {width="20"} in una schermata di dettaglio del prodotto,
- salva per dopo: quando un utente tocca {width="15"} in una schermata di dettaglio del prodotto,
- acquisto: quando un utente tocca {width="20"} in una schermata di dettaglio del prodotto.
Per implementare l’invio di eventi di esperienza relativi al commercio in modo riutilizzabile, utilizza una funzione dedicata:
-
Accedi a Luma > Luma > Utils > MobileSDK nel Navigatore progetti Xcode e aggiungi quanto segue al
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
funzione.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)
Questa funzione considera il tipo di evento e il prodotto dell’esperienza di e-commerce come parametri e
- imposta il payload XDM come dizionario, utilizzando i parametri della funzione,
- configura un evento esperienza utilizzando il dizionario,
- invia l'evento esperienza utilizzando
Edge.sendEvent
API.
-
Accedi a Luma > Luma > Views > Products > ProductView nel Navigatore progetti Xcode e aggiungere varie chiamate al
sendCommerceExperienceEvent
funzione:-
Alla
.task
modificatore, all'interno delATTrackingManager.trackingAuthorizationStatus
chiusura. Questo.task
il modificatore viene chiamato quando la visualizzazione prodotto viene inizializzata e visualizzata, quindi desideri inviare un evento di visualizzazione prodotto in quel momento specifico.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
Per ciascuno dei pulsanti ( {width="15"}, {width="20"} e {width="20"}) nella barra degli strumenti, aggiungi la chiamata pertinente all'interno di
ATTrackingManager.trackingAuthorizationStatus == .authorized
chiusura:-
Per {width="15"}
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Per {width="20"}
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Per {width="20"}
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
-
-
java.util.Map
) come interfaccia fondamentale per creare il payload XDM.Gruppi di campi personalizzati
Immagina di voler tenere traccia delle visualizzazioni a schermo e delle interazioni nell’app stessa. Ricorda di aver definito un gruppo di campi personalizzato per questo tipo di eventi.
-
Nello schema, identifica gli eventi che stai tentando di raccogliere.
-
Inizia a costruire l'oggetto.
note note NOTE -
I gruppi di campi standard iniziano sempre nella radice dell'oggetto.
-
I gruppi di campi personalizzati iniziano sempre sotto un oggetto univoco per la tua organizzazione Experience Cloud,
_techmarketingdemos
in questo esempio.
Per l’evento di interazione dell’app, puoi costruire un oggetto come:
code language-swift let xdmData: [String: Any] = [ "eventType": "application.interaction", "_techmarketingdemos": [ "appInformation": [ "appInteraction": [ "name": "login", "appAction": [ "value": 1 ] ] ] ] ]
Per l’evento di tracciamento dello schermo, puoi costruire un oggetto come:
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 ] ] ] ] ]
-
-
Ora puoi utilizzare questa struttura dati per creare un’
ExperienceEvent
.code language-swift let event = ExperienceEvent(xdm: xdmData)
-
Invia evento e dati a Platform Edge Network.
code language-swift Edge.sendEvent(experienceEvent: event)
Di nuovo, possiamo implementare questo codice nel progetto Xcode.
-
Per comodità, definisci due funzioni in MobileSDK. Accedi a Luma > Luma > Utils > MobileSDK nel Navigatore progetti Xcode.
-
Uno per le interazioni tra app. Aggiungi questo codice al
func sendAppInteractionEvent(actionName: String)
funzione: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)
Questa funzione utilizza il nome dell’azione come parametro e
- imposta il payload XDM come dizionario, utilizzando il parametro della funzione,
- configura un evento esperienza utilizzando il dizionario,
- invia l'evento esperienza utilizzando
Edge.sendEvent
API.
-
E uno per il tracciamento dello schermo. Aggiungi questo codice al
func sendTrackScreenEvent(stateName: String)
funzione: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)
Questa funzione utilizza il nome dello stato come parametro e
- imposta il payload XDM come dizionario, utilizzando il parametro della funzione,
- configura un evento esperienza utilizzando il dizionario,
- invia l'evento esperienza utilizzando
Edge.sendEvent
API.
-
-
Accedi a Luma > Luma > Views > General > FoglioAccesso.
-
Aggiungi il seguente codice evidenziato alla chiusura del pulsante di accesso:
code language-swift // Send app interaction event MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
-
Aggiungi il seguente codice evidenziato a
onAppear
modificatore:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
Convalida
-
Rivedi istruzioni di configurazione per collegare il simulatore o il dispositivo con Assurance.
-
Sposta l’icona Assurance a sinistra.
-
Seleziona Home nella barra delle schede e verificare di aver visualizzato ECID, E-mail, e ID CRM nella schermata iniziale.
-
Seleziona Products nella barra delle schede.
-
Seleziona un prodotto.
-
Seleziona {width="15"}.
-
Seleziona {width="20"}.
-
Seleziona {width="15"}.
{width="300"}
-
-
Nell’interfaccia utente Assurance, cerca hitReceived eventi da com.adobe.edge.konductor fornitore.
-
Seleziona l’evento e rivedi i dati XDM nel messaggi oggetto. In alternativa, puoi utilizzare Copia evento non elaborato e utilizza un editor di testo o di codice della tua preferenza per incollare e ispezionare l’evento.
Passaggi successivi
Ora dovresti disporre di tutti gli strumenti necessari per iniziare ad aggiungere la raccolta dati all’app. Puoi aggiungere più informazioni sul modo in cui l’utente interagisce con i prodotti nell’app e più chiamate di interazione app e tracciamento dello schermo all’app:
- Implementa l’ordine, il pagamento, il carrello vuoto e altre funzionalità nell’app e aggiungi eventi di esperienza di e-commerce pertinenti a questa funzionalità.
- Ripeti la chiamata a
sendAppInteractionEvent
con il parametro appropriato per tenere traccia delle altre interazioni dell’app da parte dell’utente. - Ripeti la chiamata a
sendTrackScreenEvent
con il parametro appropriato per tenere traccia delle schermate visualizzate dall’utente nell’app.
Inviare eventi ad Analytics e Platform
Ora che hai raccolto gli eventi e li hai inviati a Platform Edge Network, questi vengono inviati alle applicazioni e ai servizi configurati nel tuo flusso di dati. Nelle lezioni successive, mappi questi dati su Adobe Analytics, Adobe Experience Platforme altre soluzioni Adobe Experience Cloud come Adobe Target e Adobe Journey Optimizer.
Successivo: Gestisci visualizzazioni Web