Coletar dados de perfil

Saiba como coletar dados de perfil em um aplicativo móvel.

Você pode usar a extensão Profile para armazenar atributos sobre seu usuário no cliente. Essas informações podem ser usadas posteriormente para direcionar e personalizar mensagens em cenários online ou offline, sem precisar se conectar a um servidor para obter o desempenho ideal.

A extensão Perfil gerencia o CSOP (Perfil de operação do lado do cliente), fornece uma maneira de reagir a APIs, atualiza atributos de perfil do usuário e compartilha os atributos de perfil do usuário com o restante do sistema como um evento gerado.

Os dados do Perfil são usados por outras extensões para executar ações relacionadas ao perfil. Um exemplo é a extensão Mecanismo de regras que consome os dados do perfil e executa as regras com base nos dados do perfil. Saiba mais sobre a extensão de perfil na documentação

IMPORTANT
A funcionalidade de perfil descrita nesta lição é separada da funcionalidade de perfil do cliente em tempo real nos aplicativos da Adobe Experience Platform e da plataforma.

Pré-requisitos

  • O aplicativo com SDKs instalados e configurados foi criado e executado com sucesso.

Objetivos de aprendizagem

Nesta lição, você vai:

  • Definir ou atualizar atributos do usuário.
  • Recuperar atributos do usuário.

Definir e atualizar atributos do usuário

Seria útil para direcionamento e personalização no aplicativo saber rapidamente se um usuário fez uma compra no passado ou recentemente. Vamos configurar isso no aplicativo Luma.

iOS
  1. Navegue até Luma > Luma > Utils > MobileSDK no navegador do Projeto Xcode e localize a função func updateUserAttribute(attributeName: String, attributeValue: String). Adicione o seguinte 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 um dicionário vazio chamado profileMap.

    2. Adiciona um elemento ao dicionário usando attributeName (por exemplo isPaidUser) e attributeValue (por exemplo yes).

    3. Usa o dicionário profileMap como valor para o parâmetro attributeDict da chamada de API UserProfile.updateUserAttributes.

  2. Navegue até Luma > Luma > Views > Products > ProductView no navegador do Projeto Xcode e localize a chamada para updateUserAttributes (dentro do código do botão Compras Cartão de Crédito ). Adicione o seguinte código:

    code language-swift
    // Update attributes
    MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
    
Android
  1. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > templates > MobileSDK no navegador do Android Studio e localize a função func updateUserAttribute(attributeName: String, attributeValue: String). Adicione o seguinte 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. Configura um mapa vazio chamado profileMap.

    2. Adiciona um elemento ao mapa usando attributeName (por exemplo isPaidUser) e attributeValue (por exemplo yes).

    3. Usa o mapa profileMap como valor para o parâmetro attributeDict da chamada de API UserProfile.updateUserAttributes.

  2. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > visualizações > ProductView.kt e localize a chamada para updateUserAttributes (dentro do código do botão Compras Cartão de Crédito ). Adicione o seguinte código:

    code language-kotlin
    // Update attributes
    MobileSDK.shared.updateUserAttribute("isPaidUser", "yes")
    

Obter atributos do usuário

Depois de atualizar o atributo de um usuário, ele estará disponível para outros SDKs da Adobe, mas você também poderá recuperar os atributos explicitamente para permitir que seu aplicativo se comporte da maneira que você desejar.

iOS
  1. Navegue até Luma > Luma > Views > General > HomeView no navegador do Projeto Xcode e localize o modificador .onAppear. Adicione o seguinte 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. Chama a API UserProfile.getUserAttributes com o nome de atributo isPaidUser como elemento único na matriz attributeNames.
    2. Em seguida, verifica o valor do atributo isPaidUser e, quando yes, coloca um selo no ícone UserCheckedOut na barra de ferramentas, na parte superior direita.
Android
  1. Navegue até Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.androi > views > HomeView.kt no navegador de projetos do Android Studio e localize o modificador .onAppear. Adicione o seguinte código:

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

    Este código:

    1. Chama a API UserProfile.getUserAttributes com o nome de atributo isPaidUser como elemento único na matriz attributeNames.
    2. Em seguida, verifica o valor do atributo isPaidUser. Quando yes, o código substitui o ícone de pessoa por um ícone de selo na barra de ferramentas na parte superior direita.

Consulte a Referência da API para obter mais informações.

Validar com o Assurance

  1. Revise a seção instruções de instalação para conectar seu simulador ou dispositivo ao Assurance.
  2. Execute o aplicativo para fazer logon e interagir com um produto.
iOS
  1. Selecione Página inicial na barra de guias.

  2. Mova o ícone do Assurance para a esquerda.

  3. Para abrir a folha Logon, selecione o botão Usuário .

    {width="300"}

  4. Para inserir um email e uma ID de cliente aleatórios, selecione a A Botão | .

  5. Selecione Logon.

    {width="300"}

  6. Selecione Products na barra de guias.

  7. Selecione um produto.

  8. Selecione Coração .

  9. Selecione ShoppingCart .

  10. Selecione CreditCard .

    {width="300"}

  11. Voltar à tela Residencial. Você deve ver que uma medalha foi adicionada UserCheckedOut .

    {width="300"}

Android
  1. Selecione Página inicial na barra de guias.

  2. Mova o ícone do Assurance para a esquerda.

  3. Para abrir a folha Logon, selecione o botão Usuário .

    {width="300"}

  4. Para inserir um email e uma ID de cliente aleatórios, selecione Gerar Email Aleatório.

  5. Selecione Logon.

    {width="300"}

  6. Selecione Products na barra de guias.

  7. Selecione um produto.

  8. Selecionar Miniatura

  9. Selecione ShoppingCart .

  10. Selecione CreditCard .

    {width="300"}

  11. Voltar à tela Residencial. Você verá que o ícone de pessoa foi atualizado.

    {width="300"}

Na interface do usuário do Assurance, você deve ver eventos de UserProfileUpdate e getUserAttributes com o valor profileMap atualizado.

validar perfil {modal="regular"}

SUCCESS
Agora você configurou seu aplicativo para atualizar atributos de perfis na Edge Network e (quando configurado) com o Adobe Experience Platform.
Obrigado por investir seu tempo aprendendo sobre o Adobe Experience Platform Mobile SDK. Se tiver dúvidas, quiser compartilhar comentários gerais ou tiver sugestões sobre conteúdo futuro, compartilhe-os nesta postagem de discussão da Comunidade Experience League.

Próximo: Usar Locais

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