Seguimiento de datos de eventos

Obtenga información sobre cómo rastrear eventos en una aplicación móvil.

La extensión de red perimetral proporciona una API para enviar eventos de experiencia a Platform Edge Network. Un evento de experiencia es un objeto que contiene datos que se ajustan a la definición de esquema XDM ExperienceEvent. De forma más sencilla, capturan lo que las personas hacen en su aplicación móvil. Una vez que Platform Edge Network recibe los datos, se pueden reenviar a aplicaciones y servicios configurados en el conjunto de datos, como Adobe Analytics y Experience Platform. Obtenga más información acerca de Eventos de experiencia en la documentación del producto.

Requisitos previos

  • Todas las dependencias del paquete se establecen en el proyecto Xcode.
  • Extensiones registradas en AppDelegate.
  • Se ha configurado la extensión principal de Mobile para que utilice su desarrollo appId.
  • SDK importados.
  • La aplicación se creó y ejecutó correctamente con los cambios anteriores.

Objetivos de aprendizaje

En esta lección, debe

  • Obtenga información sobre cómo estructurar datos XDM basados en un esquema.
  • Envíe un evento XDM basado en un grupo de campos estándar.
  • Envíe un evento XDM basado en un grupo de campos personalizados.
  • Envíe un evento de compra de XDM.
  • Valide con Assurance.

Creación de un evento de experiencia

La extensión de Edge de Adobe Experience Platform puede enviar eventos que siguen un esquema XDM definido anteriormente a Adobe Experience Platform Edge Network.

El proceso es así…

  1. Identifique la interacción de la aplicación móvil que esté intentando rastrear.

  2. Revise el esquema e identifique el evento adecuado.

  3. Revise el esquema e identifique cualquier campo adicional que deba utilizarse para describir el evento.

  4. Construir y rellenar el objeto de datos.

  5. Crear y enviar evento.

  6. Validar.

Grupos de campo estándar

Para los grupos de campos estándar, el proceso tiene este aspecto:

  • En el esquema, identifique los eventos que está intentando recopilar. En este ejemplo, se realiza un seguimiento de los eventos de experiencia comercial, por ejemplo una vista de producto (productViews) evento.

    esquema de vista de producto

  • Para construir un objeto que contenga los datos del evento de experiencia en la aplicación, utilice un código como el siguiente:

    code language-swift
    var xdmData: [String: Any] = [
        "eventType": "commerce.productViews",
        "commerce": [
            "productViews": [
              "value": 1
            ]
        ]
    ]
    
    • eventType: Describe el evento que se produjo, use un valor conocido cuando sea posible.
    • commerce.productViews.value: el valor numérico o booleano del evento. Si es booleano (o "contador" en Adobe Analytics), el valor siempre se establece en 1. Si es un evento numérico o de moneda, el valor puede ser > 1.
  • En el esquema, identifique cualquier dato adicional asociado con el evento de vista de producto de comercio. En este ejemplo, incluya productListItems que es un conjunto estándar de campos utilizados con cualquier evento relacionado con el comercio:

    esquema de elementos de lista de productos

    • Observe que productListItems es una matriz para poder proporcionar varios productos.
  • Para agregar estos datos, expanda su xdmData objeto para incluir datos suplementarios:

    code language-swift
    var xdmData: [String: Any] = [
        "eventType": "commerce.productViews",
            "commerce": [
            "productViews": [
                "value": 1
            ]
        ],
        "productListItems": [
            [
                "name":  productName,
                "SKU": sku,
                "priceTotal": priceString,
                "quantity": 1
            ]
        ]
    ]
    
  • Ahora puede utilizar esta estructura de datos para crear un ExperienceEvent:

    code language-swift
    let productViewEvent = ExperienceEvent(xdm: xdmData)
    
  • Y envíe el evento y los datos a Platform Edge Network mediante el sendEvent API:

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

El Edge.sendEvent API es el SDK de AEP Mobile equivalente a MobileCore.trackAction y MobileCore.trackState Llamadas de API. Consulte Migración de la extensión móvil de Analytics a Adobe Experience Platform Edge Network para obtener más información.

Ahora va a implementar realmente este código en su proyecto Xcode.
Tiene diferentes acciones comerciales relacionadas con productos en la aplicación y quiere enviar eventos, según estas acciones realizadas por el usuario:

  • vista: se produce cuando un usuario ve un producto específico,

  • añadir al carro: cuando un usuario pulse

    img-md
    w-20

    en una pantalla de detalles del producto,

  • guardar para más tarde: cuando un usuario pulse

    img-md
    w-15

    en una pantalla de detalles del producto,

  • compra: cuando un usuario pulse

    img-md
    w-20

    en una pantalla de detalles del producto.

Para implementar el envío de eventos de experiencia relacionados con el comercio de forma reutilizable, se utiliza una función dedicada:

  1. Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode y añada lo siguiente a func sendCommerceExperienceEvent(commerceEventType: String, product: Product) función.

    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)
    

    Esta función toma el tipo de evento de experiencia de comercio y el producto como parámetros y

    • configura la carga útil XDM como un diccionario, utilizando los parámetros de la función,
    • configura un evento de experiencia utilizando el diccionario,
    • envía el evento de experiencia utilizando Edge.sendEvent API.
  2. Vaya a Luma > Luma > Views > Products > ProductView en el navegador del proyecto Xcode y añada varias llamadas a sendCommerceExperienceEvent función:

    1. En el .task modificador, dentro de ATTrackingManager.trackingAuthorizationStatus cierre. Esta .task se llama al modificador cuando se inicializa y se muestra la vista de producto, por lo que desea enviar un evento de vista de producto en ese momento específico.

      code language-swift
      // Send productViews commerce experience event
      MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
      
    2. Para cada uno de los botones (+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+,+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+y+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+) en la barra de herramientas, añada la llamada correspondiente dentro de la variable ATTrackingManager.trackingAuthorizationStatus == .authorized cierre:

      1. Para+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+

      +----------------------------------------------------------------------------------------------------+ | code language-swift | +====================================================================================================+ | | | // Send saveForLater commerce experience event | | MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product) | | | +----------------------------------------------------------------------------------------------------+

      2. Para+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+

      +------------------------------------------------------------------------------------------------------+ | code language-swift | +======================================================================================================+ | | | // Send productListAdds commerce experience event | | MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product) | | | +------------------------------------------------------------------------------------------------------+

      3. Para+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+

      +------------------------------------------------------------------------------------------------+ | code language-swift | +================================================================================================+ | | | // Send purchase commerce experience event | | MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product) | | | +------------------------------------------------------------------------------------------------+

TIP
Si está desarrollando para Android™, utilice Map (java.util.Map) como interfaz fundamental para construir la carga útil XDM.

Grupos de campos personalizados

Imagine que desea rastrear las vistas de pantalla y las interacciones en la propia aplicación. Recuerde que ha definido un grupo de campos personalizados para este tipo de eventos.

  • En el esquema, identifique los eventos que intenta recopilar.
    esquema de interacción de aplicación

  • Empiece a construir el objeto.

    note note
    NOTE
    • Los grupos de campos estándar siempre comienzan en la raíz del objeto.

    • Los grupos de campos personalizados siempre comienzan con un objeto único de su organización de Experience Cloud, _techmarketingdemos en este ejemplo.

    Para el evento de interacción de la aplicación, construiría un objeto como:

    code language-swift
    let xdmData: [String: Any] = [
      "eventType": "application.interaction",
      "_techmarketingdemos": [
        "appInformation": [
            "appInteraction": [
                "name": "login",
                "appAction": [
                    "value": 1
                    ]
                ]
            ]
        ]
    ]
    

    Para el evento de seguimiento de pantalla, construiría un objeto como:

    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
                      ]
                  ]
              ]
          ]
    ]
    
  • Ahora puede utilizar esta estructura de datos para crear un ExperienceEvent.

    code language-swift
    let event = ExperienceEvent(xdm: xdmData)
    
  • Envíe el evento y los datos a Platform Edge Network.

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

De nuevo, vamos a implementar este código en su proyecto Xcode.

  1. Para mayor comodidad, puede definir dos funciones en MobileSDK. Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode.

    1. Uno para las interacciones entre aplicaciones. Añada este código a func sendAppInteractionEvent(actionName: String) función:

      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)
      

      Esta función utiliza el nombre de la acción como parámetro y

      • configura la carga útil XDM como un diccionario, utilizando el parámetro de la función,
      • configura un evento de experiencia utilizando el diccionario,
      • envía el evento de experiencia utilizando Edge.sendEvent API.
    2. Y uno para el seguimiento de pantalla. Añada este código a func sendTrackScreenEvent(stateName: String) función:

      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)
      

      Esta función utiliza el nombre de estado como parámetro y

      • configura la carga útil XDM como un diccionario, utilizando el parámetro de la función,
      • configura un evento de experiencia utilizando el diccionario,
      • envía el evento de experiencia utilizando Edge.sendEvent API.
  2. Vaya a Luma > Luma > Views > General > LoginSheet.

    1. Agregue el siguiente código resaltado al cierre del botón Inicio de sesión:

      code language-swift
      // Send app interaction event
      MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
      
    2. Agregue el siguiente código resaltado a onAppear modificador:

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

Validación

  1. Revise la instrucciones de configuración para conectar el simulador o dispositivo con Assurance.

    1. Mueva el icono Garantía a la izquierda.

    2. Seleccionar Inicio en la barra de pestañas y compruebe que ve un ECID, Correo electrónico, y ID de CRM en la pantalla Inicio.

    3. Seleccionar Products en la barra de pestañas.

    4. Seleccione un producto.

    5. Seleccionar+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+.

    6. Seleccionar+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+.

    7. Seleccionar+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+.

      img-md
      w-300
  2. En la interfaz de usuario de Assurance, busque hitReceived eventos de la com.adobe.edge.konductor proveedor.

  3. Seleccione el evento y revise los datos XDM en la messages objeto. Como alternativa, puede utilizar Copiar Copiar evento sin procesar y utilice un editor de texto o código de su preferencia para pegar e inspeccionar el evento.

    validación de recopilación de datos

Pasos siguientes

Ahora debe tener todas las herramientas para empezar a añadir recopilación de datos a la aplicación. Puede añadir más inteligencia a la forma en que el usuario interactúa con sus productos en la aplicación y puede añadir más interacciones de la aplicación y llamadas de seguimiento de pantalla a la aplicación:

  • Implemente las funciones de pedido, cierre de compra, cesta vacía y otras a la aplicación, y agregue eventos de experiencia comercial relevantes a esta funcionalidad.
  • Repita la llamada a sendAppInteractionEvent con el parámetro adecuado para rastrear otras interacciones de la aplicación por parte del usuario.
  • Repita la llamada a sendTrackScreenEvent con el parámetro adecuado para hacer un seguimiento de las pantallas visualizadas por el usuario en la aplicación.
TIP
Revise la aplicación finalizada para ver más ejemplos.

Envío de eventos a Analytics y Platform

Ahora que ha recopilado los eventos y los ha enviado a Platform Edge Network, se envían a las aplicaciones y servicios configurados en su secuencia de datos. En lecciones posteriores, puede asignar estos datos a Adobe Analytics, Adobe Experience Platformy otras soluciones de Adobe Experience Cloud como Adobe Target y Adobe Journey Optimizer.

SUCCESS
Ahora ha configurado la aplicación para rastrear eventos de comercio, interacción de aplicaciones y seguimiento de pantalla en Adobe Experience Platform Edge Network y todos los servicios definidos en el flujo de datos.
Gracias por dedicar su tiempo a conocer el SDK móvil de Adobe Experience Platform. Si tiene preguntas, desea compartir comentarios generales o tiene sugerencias sobre contenido futuro, compártalas en este Entrada de discusión de la comunidad Experience League.

Siguiente: Administrar vistas web

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