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…

  1. Identifica l’interazione con l’app mobile che stai tentando di tracciare.

  2. Esamina lo schema e identifica l’evento appropriato.

  3. Esamina lo schema e identifica eventuali campi aggiuntivi da utilizzare per descrivere l’evento.

  4. Costruisci e popola l’oggetto dati.

  5. Crea e invia evento.

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

    schema di visualizzazione prodotto

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

    schema elementi elenco prodotti

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

  1. 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.
  2. Accedi a Luma > Luma > Views > Products > ProductView nel Navigatore progetti Xcode e aggiungere varie chiamate al sendCommerceExperienceEvent funzione:

    1. Alla .task modificatore, all'interno del ATTrackingManager.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)
      
    2. 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:

      1. Per {width="15"}

        code language-swift
        // Send saveForLater commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
        
      2. Per {width="20"}

        code language-swift
        // Send productListAdds commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
        
      3. Per {width="20"}

        code language-swift
        // Send purchase commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
        
TIP
Se stai sviluppando per Android™, utilizza Map (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.
    schema interazione app

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

  1. Per comodità, definisci due funzioni in MobileSDK. Accedi a Luma > Luma > Utils > MobileSDK nel Navigatore progetti Xcode.

    1. 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.
    2. 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.
  2. Accedi a Luma > Luma > Views > General > FoglioAccesso.

    1. Aggiungi il seguente codice evidenziato alla chiusura del pulsante di accesso:

      code language-swift
      // Send app interaction event
      MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
      
    2. 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

  1. Rivedi istruzioni di configurazione per collegare il simulatore o il dispositivo con Assurance.

    1. Sposta l’icona Assurance a sinistra.

    2. Seleziona Home nella barra delle schede e verificare di aver visualizzato ECID, E-mail, e ID CRM nella schermata iniziale.

    3. Seleziona Products nella barra delle schede.

    4. Seleziona un prodotto.

    5. Seleziona {width="15"}.

    6. Seleziona {width="20"}.

    7. Seleziona {width="15"}.

      {width="300"}

  2. Nell’interfaccia utente Assurance, cerca hitReceived eventi da com.adobe.edge.konductor fornitore.

  3. Seleziona l’evento e rivedi i dati XDM nel messaggi oggetto. In alternativa, puoi utilizzare Copia Copia evento non elaborato e utilizza un editor di testo o di codice della tua preferenza per incollare e ispezionare l’evento.

    convalida della raccolta dati

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.
TIP
Rivedi app completata per ulteriori esempi.

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.

SUCCESS
Ora hai configurato l’app per tenere traccia degli eventi di e-commerce, interazione con l’app e tracciamento dello schermo su Adobe Experience Platform Edge Network e su tutti i servizi definiti nello stream di dati.
Grazie per aver dedicato il tuo tempo all’apprendimento dell’SDK di Adobe Experience Platform Mobile. Se hai domande, vuoi condividere feedback generali o suggerimenti su contenuti futuri, condividili su questo Experience League post di discussione community.

Successivo: Gestisci visualizzazioni Web

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