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
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/ou personalização no aplicativo saber rapidamente se um usuário fez uma compra no passado ou recentemente. Vamos configurar isso no aplicativo Luma.
-
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:
-
Configura um dicionário vazio chamado
profileMap
. -
Adiciona um elemento ao dicionário usando
attributeName
(por exemploisPaidUser
) eattributeValue
(por exemployes
). -
Usa o dicionário
profileMap
como valor para o parâmetroattributeDict
da chamada de APIUserProfile.updateUserAttributes
.
-
-
Navegue até Luma > Luma > Views > Products > ProductView no navegador do Projeto Xcode e localize a chamada para
updateUserAttributes
(dentro do código das Compras {width="15"} botão). Adicione o seguinte código:code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
Obter atributos do usuário
Depois de atualizar o atributo de um usuário, ele fica disponível para outros SDKs Adobe, mas você também pode recuperar atributos explicitamente, para permitir que seu aplicativo se comporte da maneira que você quiser.
-
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:
-
Chama a API
UserProfile.getUserAttributes
com o nome de atributoisPaidUser
como elemento único na matrizattributeNames
. -
Em seguida, verifica o valor do atributo
isPaidUser
e, quandoyes
, coloca um selo na variável Ícone{width="20"}
na barra de ferramentas, na parte superior direita.
-
A documentação adicional pode ser encontrada aqui.
Validar com garantia
-
Revise a seção instruções de configuração para conectar seu simulador ou dispositivo ao Assurance.
-
Execute o aplicativo para fazer logon e interagir com um produto.
-
Mova o ícone do Assurance para a esquerda.
-
Selecione Página inicial na barra de guias.
-
Para abrir a planilha de Logon, selecione o Botão {width="15"}.
{width="300"}
-
Para inserir um email e uma ID do cliente aleatórios, selecione Botão {width="15"} .
-
Selecione Logon.
{width="300"}
-
Selecione Products na barra de guias.
-
Selecione um produto.
-
Selecionar {width="15"}.
-
Selecionar {width="20"}.
-
Selecionar {width="15"}.
{width="300"}
-
Voltar à tela Residencial. Você verá que uma medalha foi adicionada {width="15"}.
{width="300"}
-
-
Na interface do usuário do Assurance, você deve ver eventos de UserProfileUpdate e getUserAttributes com o valor
profileMap
atualizado.
Próximo: Usar Locais