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 Extensión de perfil en la documentación de
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 variable
func updateUserAttribute(attributeName: String, attributeValue: String)
función. 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:
-
Establece un diccionario vacío denominado
profileMap
. -
Agrega un elemento al diccionario mediante
attributeName
(por ejemplo,isPaidUser
), yattributeValue
(por ejemplo,yes
). -
Utiliza el
profileMap
como valor del diccionario deattributeDict
parámetro delUserProfile.updateUserAttributes
Llamada de API.
-
-
Vaya a Luma > Luma > Views > Products > ProductView en el navegador del proyecto Xcode y busque la llamada a
updateUserAttributes
(en el código de las compras)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 la variable
.onAppear
modificador. 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 al
UserProfile.getUserAttributes
API con elisPaidUser
nombre del atributo como elemento único en elattributeNames
matriz. - Entonces comprueba el valor del
isPaidUser
atributo y cuándoyes
, coloca un distintivo en la
- Llama al
Se puede encontrar documentación adicional aquí.
Validar con Assurance
-
Revise la instrucciones de configuración para conectar el 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.
-
Seleccionar Inicio en la barra de pestañas.
-
Para abrir la hoja Inicio de sesión, seleccione
-
Para insertar un correo electrónico y un ID de cliente aleatorios, seleccione la
-
Seleccionar Iniciar sesión.
-
Seleccionar Products en la barra de pestañas.
-
Seleccione un producto.
-
Seleccionar
-
Seleccionar
-
Seleccionar
-
Volver atrás a Inicio pantalla. Debería ver que se ha añadido una insignia
-
-
En la interfaz de usuario de Assurance, debería ver un UserProfileUpdate y getUserAttributes eventos con el actualizado
profileMap
valor.
Siguiente: Usar lugares