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

IMPORTANT
La funcionalidad de perfil que se describe en esta lección es independiente de la funcionalidad de perfil del cliente en tiempo real de las aplicaciones basadas en Adobe Experience Platform y en Platform.

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 los objetivos y la personalización de la aplicación supieran rápidamente si un usuario ha realizado una compra en el pasado o recientemente. Vamos a configurarlo en la aplicación de Luma.

iOS
  1. 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:

    1. Configura un diccionario vacío denominado profileMap.

    2. Agrega un elemento al diccionario utilizando attributeName (por ejemplo isPaidUser) y attributeValue (por ejemplo yes).

    3. Utiliza el diccionario profileMap como valor para el parámetro attributeDict de la llamada a la API UserProfile.updateUserAttributes.

  2. Vaya a Luma > Luma > Views > Products > ProductView en el navegador del proyecto Xcode y busque la llamada a updateUserAttributes (dentro del código del botón Compras Tarjeta de crédito ). Añada el siguiente código:

    code language-swift
    // Update attributes
    MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
    
Android
  1. Vaya a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK en el navegador de Android Studio y busque la función func updateUserAttribute(attributeName: String, attributeValue: String). Añada el siguiente código:

    code language-kotlin
    // Create a profile map, add attributes to the map and update profile using the map
    val profileMap = mapOf(attributeName to attributeValue)
    UserProfile.updateUserAttributes(profileMap)
    

    Este código:

    1. Establece un mapa vacío denominado profileMap.

    2. Agrega un elemento al mapa mediante attributeName (por ejemplo isPaidUser) y attributeValue (por ejemplo yes).

    3. Utiliza la asignación profileMap como valor para el parámetro attributeDict de la llamada a la API UserProfile.updateUserAttributes.

  2. Vaya a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > views > ProductView.kt y busque la llamada a updateUserAttributes (dentro del código del botón Compras CreditCard ). Añada el siguiente código:

    code language-kotlin
    // Update attributes
    MobileSDK.shared.updateUserAttribute("isPaidUser", "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 podrá recuperar atributos explícitamente para permitir que la aplicación se comporte como desee.

iOS
  1. 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:

    1. Llama a la API UserProfile.getUserAttributes con el nombre de atributo isPaidUser como un solo elemento en la matriz attributeNames.
    2. Luego comprueba el valor del atributo isPaidUser y, cuando yes, coloca un distintivo en el icono UserCheckedOut de la barra de herramientas en la parte superior derecha.
Android
  1. Vaya a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.androi > views > HomeView.kt en el navegador de proyectos de Android Studio y busque el modificador .onAppear. Añada el siguiente código:

    code language-kotlin
    // Get attributes
    UserProfile.getUserAttributes(listOf("isPaidUser")) { attributes ->
        showBadgeForUser = attributes?.get("isPaidUser") == "yes"
    }
    

    Este código:

    1. Llama a la API UserProfile.getUserAttributes con el nombre de atributo isPaidUser como un solo elemento en la matriz attributeNames.
    2. Entonces comprueba el valor del atributo isPaidUser. Cuando yes, el código reemplaza el icono de la persona con un icono de distintivo en la barra de herramientas de la parte superior derecha.

Consulte la referencia de API para obtener más información.

Validar con Assurance

  1. Revise la sección instrucciones de configuración para conectar el simulador o dispositivo a Assurance.
  2. Ejecute la aplicación para iniciar sesión e interactuar con un producto.
iOS
  1. Seleccione Inicio en la barra de fichas.

  2. Mueva el icono de Assurance a la izquierda.

  3. Para abrir la hoja Inicio de sesión, seleccione el botón Usuario .

    {width="300"}

  4. Para insertar un correo electrónico y un ID de cliente aleatorios, seleccione A Botón | .

  5. Seleccione Iniciar sesión.

    {width="300"}

  6. Seleccione Products en la barra de fichas.

  7. Seleccione un producto.

  8. Seleccione Corazón .

  9. Seleccione Carro de compras .

  10. Seleccione CreditCard .

    {width="300"}

  11. Volver a la pantalla Inicio. Debería ver que se ha agregado una insignia UserCheckedOut .

    {width="300"}

Android
  1. Seleccione Inicio en la barra de fichas.

  2. Mueva el icono de Assurance a la izquierda.

  3. Para abrir la hoja Inicio de sesión, seleccione el botón Usuario .

    {width="300"}

  4. Para insertar un correo electrónico y un ID de cliente aleatorios, seleccione Generar correo electrónico aleatorio .

  5. Seleccione Iniciar sesión.

    {width="300"}

  6. Seleccione Products en la barra de fichas.

  7. Seleccione un producto.

  8. Seleccionar miniatura

  9. Seleccione Carro de compras .

  10. Seleccione CreditCard .

    {width="300"}

  11. Volver a la pantalla Inicio. Debería ver que se ha actualizado el icono de la persona.

    {width="300"}

En la interfaz de usuario de Assurance, debería ver los eventos UserProfileUpdate y getUserAttributes con el valor profileMap actualizado.

validar perfil {modal="regular"}

SUCCESS
Ahora ha configurado la aplicación para actualizar los atributos de los perfiles en Edge Network y (cuando está configurada) con Adobe Experience Platform.
Gracias por dedicar su tiempo a conocer Adobe Experience Platform Mobile SDK. Si tiene preguntas, desea compartir comentarios generales o tiene sugerencias sobre contenido futuro, compártalas en esta publicación de debate de la comunidad de Experience League.

Siguiente: Usar lugares

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