Seguimiento de datos de eventos
Obtenga información sobre cómo rastrear eventos en una aplicación móvil.
La extensión de Edge Network proporciona una API para enviar eventos de experiencia al Edge Network de Platform. 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 experiencias 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 Adobe Experience Platform Edge puede enviar eventos que siguen un esquema XDM definido anteriormente al Edge Network de Adobe Experience Platform.
El proceso es así…
-
Identifique la interacción de la aplicación móvil que esté intentando rastrear.
-
Revise el esquema e identifique el evento adecuado.
-
Revise el esquema e identifique cualquier campo adicional que deba utilizarse para describir el evento.
-
Construir y rellenar el objeto de datos.
-
Crear y enviar evento.
-
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, está realizando un seguimiento de eventos de experiencia comercial, por ejemplo un evento de vista de producto (productViews).
-
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 y usa un valor conocido siempre que sea posible.commerce.productViews.value
: 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:
- Observe que productListItems es una matriz para que se puedan proporcionar varios productos.
-
Para agregar estos datos, expanda el objeto
xdmData
para incluir datos adicionales: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 usar esta estructura de datos para crear un(a)
ExperienceEvent
:code language-swift let productViewEvent = ExperienceEvent(xdm: xdmData)
-
Y envíe el evento y los datos al Edge Network de Platform mediante la API
sendEvent
:code language-swift Edge.sendEvent(experienceEvent: productViewEvent)
La API Edge.sendEvent
es el SDK de AEP Mobile equivalente a las llamadas a la API MobileCore.trackAction
y MobileCore.trackState
. Consulte Migrar de la extensión móvil de Analytics al Edge Network de Adobe Experience Platform 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
{width="20"}
en una pantalla de detalles del producto,
-
guardar para más tarde: cuando un usuario pulse
{width="15"}
en una pantalla de detalles del producto,
-
compra: cuando un usuario pulse
{width="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:
-
Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode y agregue lo siguiente a la función
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)
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 mediante la API
Edge.sendEvent
.
-
Vaya a Luma > Luma > Views > Products > ProductView en el navegador del proyecto Xcode y agregue varias llamadas a la función
sendCommerceExperienceEvent
:-
En el modificador
.task
, dentro del cierreATTrackingManager.trackingAuthorizationStatus
. Se llama a este modificador.task
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)
-
Para cada uno de los botones ( {width="15"}, {width="20"} y {width="20"}) en la barra de herramientas, agregue la llamada relevante dentro del cierre
ATTrackingManager.trackingAuthorizationStatus == .authorized
:-
Para {width="15"}
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Para {width="20"}
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Para {width="20"}
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
-
-
java.util.Map
) como interfaz base 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.
-
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 usar esta estructura de datos para crear un(a)
ExperienceEvent
.code language-swift let event = ExperienceEvent(xdm: xdmData)
-
Envíe el evento y los datos de al Edge Network de Platform.
code language-swift Edge.sendEvent(experienceEvent: event)
De nuevo, vamos a implementar este código en su proyecto Xcode.
-
Para su comodidad, usted define dos funciones en MobileSDK. Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode.
-
Uno para las interacciones entre aplicaciones. Agregue este código a la función
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)
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 mediante la API
Edge.sendEvent
.
-
Y uno para el seguimiento de pantalla. Agregue este código a la función
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)
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 mediante la API
Edge.sendEvent
.
-
-
Vaya a Luma > Luma > Views > General > LoginSheet.
-
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")
-
Agregue el siguiente código resaltado al modificador
onAppear
:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
Validación
-
Revise la sección instrucciones de configuración para conectar el simulador o dispositivo con Assurance.
-
Mueva el icono de Assurance a la izquierda.
-
Seleccione Inicio en la barra de pestañas y verifique que ve un ECID, correo electrónico y ID de CRM en la pantalla Inicio.
-
Seleccione Products en la barra de fichas.
-
Seleccione un producto.
-
Seleccionar {width="15"}.
-
Seleccionar {width="20"}.
-
Seleccionar {width="15"}.
{width="300"}
-
-
En la IU de Assurance, busque los eventos hitReceived del proveedor com.adobe.edge.konductor.
-
Seleccione el evento y revise los datos XDM en el objeto messages. También puede usar Copiar evento sin procesar y usar un editor de texto o código de su preferencia para pegar e inspeccionar el evento.
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 correspondiente para rastrear otras interacciones de la aplicación por parte del usuario. - Repita la llamada a
sendTrackScreenEvent
con el parámetro correspondiente para rastrear las pantallas que vio el usuario en la aplicación.
Envío de eventos a Analytics y Platform
Ahora que ha recopilado los eventos y los ha enviado al Edge Network de Platform, se envían a las aplicaciones y servicios configurados en su secuencia de datos. En lecciones posteriores, asignará estos datos a Adobe Analytics, Adobe Experience Platform y otras soluciones de Adobe Experience Cloud como Adobe Target y Adobe Journey Optimizer.
Siguiente: Administrar vistas web