Tracciare i dati dell’evento

Scopri come tracciare gli eventi in un’app mobile.

L’estensione Edge Network fornisce un’API per inviare eventi Experience all’Edge Network Platform. 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 dall’Edge Network di Platform, questi possono essere inoltrati alle applicazioni e ai servizi configurati nel flusso di dati, come Adobe Analytics e Experience 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 gli 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 stai tenendo traccia degli eventi di esperienza di e-commerce, ad esempio un evento di visualizzazione prodotto (productViews).

    schema 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. Utilizzare 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 relativo a e-commerce:

    schema elementi elenco prodotti

    • productListItems è un array e pertanto è possibile specificare più prodotti.
  • Per aggiungere questi dati, espandere l'oggetto xdmData per 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 possibile utilizzare questa struttura dati per creare un ExperienceEvent:

    code language-swift
    let productViewEvent = ExperienceEvent(xdm: xdmData)
    
  • E invia l'evento e i dati all'Edge Network di Platform utilizzando l'API sendEvent:

    code language-swift
    Edge.sendEvent(experienceEvent: productViewEvent)
    

L'API Edge.sendEvent è l'SDK di AEP Mobile equivalente alle chiamate API MobileCore.trackAction e MobileCore.trackState. Per ulteriori informazioni, consulta Migrare dall'estensione per dispositivi mobili Analytics all'Edge Network di Adobe Experience Platform.

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 dei dettagli del prodotto,
  • salva per dopo: quando un utente tocca {width="15"} in una schermata dei dettagli del prodotto,
  • acquisto: quando un utente tocca {width="20"} in una schermata dei dettagli del prodotto.

Per implementare l’invio di eventi di esperienza relativi al commercio in modo riutilizzabile, utilizza una funzione dedicata:

  1. Passa a Luma > Luma > Utils > MobileSDK nel navigatore progetti Xcode e aggiungi quanto segue alla funzione 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)
    

    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 l'API Edge.sendEvent.
  2. Passa a Luma > Luma > Views > Products > ProductView nel Navigator dei progetti Xcode e aggiungi varie chiamate alla funzione sendCommerceExperienceEvent:

    1. Nel modificatore .task, entro la chiusura di ATTrackingManager.trackingAuthorizationStatus. Questo modificatore .task viene chiamato quando la visualizzazione prodotto viene inizializzata e visualizzata, quindi si desidera 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 entro la chiusura di ATTrackingManager.trackingAuthorizationStatus == .authorized:

      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 con un oggetto univoco per l'organizzazione di Experienci 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 possibile utilizzare questa struttura dati per creare un ExperienceEvent.

    code language-swift
    let event = ExperienceEvent(xdm: xdmData)
    
  • Invia l’evento e i dati all’Edge Network di Platform.

    code language-swift
    Edge.sendEvent(experienceEvent: event)
    

Di nuovo, possiamo implementare questo codice nel progetto Xcode.

  1. Per comodità, puoi definire due funzioni in MobileSDK. Passa a Luma > Luma > Utils > MobileSDK nel navigatore dei progetti Xcode.

    1. Uno per le interazioni tra app. Aggiungi questo codice alla funzione 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)
      

      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 l'API Edge.sendEvent.
    2. E uno per il tracciamento dello schermo. Aggiungi questo codice alla funzione 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)
      

      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 l'API Edge.sendEvent.
  2. Passa a Luma > Luma > Views > General > Foglio di accesso.

    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 al modificatore onAppear:

      code language-swift
      // Send track screen event
      MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
      

Convalida

  1. Consulta la sezione istruzioni di installazione per collegare il simulatore o il dispositivo con Assurance.

    1. Sposta l’icona Assurance a sinistra.

    2. Seleziona Home nella barra delle schede e verifica di visualizzare un ECID, E-mail e un ID CRM nella schermata iniziale.

    3. Selezionare 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 gli eventi hitReceived del fornitore com.adobe.edge.konductor.

  3. Seleziona l'evento e controlla i dati XDM nell'oggetto messages. In alternativa, puoi utilizzare Copia Copia evento non elaborato e utilizzare un editor di testo o di codice di tua preferenza per incollare e ispezionare l'evento.

    convalida 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à.
  • Ripetere 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 l'app completata per altri esempi.

Inviare eventi ad Analytics e Platform

Dopo aver raccolto gli eventi e averli inviati all'Edge Network di Platform, vengono inviati alle applicazioni e ai servizi configurati nel flusso di dati. Nelle lezioni successive, mappi questi dati a Adobe Analytics, Adobe Experience Platform e 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 nell’Edge Network di Adobe Experience Platform e in 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 commenti generali o suggerimenti su contenuti futuri, condividili in questo Experience League post di discussione della community.

Successivo: Gestione visualizzazioni Web

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