Recopilación de datos de perfil
Obtenga información sobre cómo recopilar datos de perfil en una aplicación móvil.
Puede utilizar la extensión de perfil para almacenar atributos sobre el usuario en el cliente. Esta información se puede utilizar posteriormente para dirigir y personalizar mensajes durante escenarios en línea o sin conexión, sin tener que conectarse a un servidor para obtener un rendimiento óptimo. La extensión de perfil administra el perfil de operación del lado del cliente (CSOP), proporciona una forma de reaccionar a las API, actualiza los atributos del perfil de usuario y comparte los atributos del perfil de usuario con el resto del sistema como un evento generado.
Otras extensiones utilizan los datos del perfil para realizar acciones relacionadas con el perfil. Un ejemplo es la extensión del motor de reglas, que consume los datos del perfil y ejecuta reglas basadas en los datos del perfil. Obtenga más información acerca de la extensión de perfil en la documentación
Requisitos previos
- La aplicación se ha creado y ejecutado correctamente con los SDK instalados y configurados.
Objetivos de aprendizaje
En esta lección, deberá hacer lo siguiente:
- Establecer o actualizar atributos de usuario.
- Recuperar atributos de usuario.
Establecer y actualizar atributos de usuario
Sería útil que la segmentación o personalización en la aplicación supiera rápidamente si un usuario ha realizado una compra en el pasado o recientemente. Vamos a configurarlo en la aplicación de Luma.
-
Vaya a Luma > Luma > Utils > MobileSDK en el navegador del proyecto Xcode y busque la función
func updateUserAttribute(attributeName: String, attributeValue: String)
. Añada el siguiente código:code language-swift // Create a profile map, add attributes to the map and update profile using the map var profileMap = [String: Any]() profileMap[attributeName] = attributeValue UserProfile.updateUserAttributes(attributeDict: profileMap)
Este código:
-
Configura un diccionario vacío denominado
profileMap
. -
Agrega un elemento al diccionario utilizando
attributeName
(por ejemploisPaidUser
) yattributeValue
(por ejemployes
). -
Utiliza el diccionario
profileMap
como valor para el parámetroattributeDict
de la llamada a la APIUserProfile.updateUserAttributes
.
-
-
Vaya a Luma > Luma > Views > Products > ProductView en el navegador del proyecto Xcode y busque la llamada a
updateUserAttributes
(dentro del código de las compras) {width="15"} botón). Añada el siguiente código:code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
Obtener atributos de usuario
Una vez que haya actualizado el atributo de un usuario, estará disponible para otros SDK de Adobe, pero también puede recuperar atributos explícitamente para permitir que la aplicación se comporte como desee.
-
Vaya a Luma > Luma > Views > General > HomeView en el navegador del proyecto Xcode y busque el modificador
.onAppear
. Añada el siguiente código:code language-swift // Get attributes UserProfile.getUserAttributes(attributeNames: ["isPaidUser"]) { attributes, error in if attributes?.count ?? 0 > 0 { if attributes?["isPaidUser"] as? String == "yes" { showBadgeForUser = true } else { showBadgeForUser = false } } }
Este código:
-
Llama a la API
UserProfile.getUserAttributes
con el nombre de atributoisPaidUser
como un solo elemento en la matrizattributeNames
. -
Entonces comprueba el valor del atributo
isPaidUser
y, cuandoyes
, coloca un distintivo en la etiqueta Icono{width="20"}
en la barra de herramientas en la parte superior derecha.
-
Encontrará documentación adicional aquí.
Validar con Assurance
-
Revise la sección instrucciones de configuración para conectar su simulador o dispositivo a Assurance.
-
Ejecute la aplicación para iniciar sesión e interactuar con un producto.
-
Mueva el icono Garantía a la izquierda.
-
Seleccione Inicio en la barra de fichas.
-
Para abrir la hoja Inicio de sesión, seleccione Botón {width="15"}.
{width="300"}
-
Para insertar un correo electrónico y un ID de cliente aleatorios, seleccione la Botón {width="15"}
-
Seleccione Iniciar sesión.
{width="300"}
-
Seleccione Products en la barra de fichas.
-
Seleccione un producto.
-
Seleccionar {width="15"}.
-
Seleccionar {width="20"}.
-
Seleccionar {width="15"}.
{width="300"}
-
Volver a la pantalla Inicio. Debería ver que se ha añadido una insignia {width="15"}.
{width="300"}
-
-
En la interfaz de usuario de Assurance, debería ver los eventos UserProfileUpdate y getUserAttributes con el valor
profileMap
actualizado.
Siguiente: Usar lugares