CRBRASIL
Analytics

UXCam: como implementar session replay e analytics de produto em aplicativos

Por CRO Brasil ·

UXCam: como implementar session replay e analytics de produto em aplicativos

O app tem crash, abandono no onboarding e ninguém sabe onde. Veja como instalar o SDK da UXCam, nomear telas, identificar usuários, enviar eventos e proteger dados sensíveis.

Índice do artigo

Analytics de app costuma responder “quantos”. Quantos instalaram, quantos abriram, quantos compraram. A pergunta que trava o crescimento é outra: o que aconteceu na tela antes de a pessoa desistir? É esse o espaço da UXCam.

O que é a UXCam?

A UXCam é uma plataforma de product analytics com session replay, focada em aplicativos e também disponível para web. Além de replays e heatmaps, a documentação destaca funis, retenção, adoção de funcionalidades, alertas de rage tap e anomalias, e analytics de engenharia com crashes, ANRs e exceções ligados à sessão gravada.

Em uma frase: a UXCam mostra o que o usuário fez no app antes de converter, travar ou desinstalar.

Onde a UXCam roda: web, Android, iOS e frameworks

Há SDK Web e SDKs mobile para Android nativo, iOS e React Native (incluindo projetos Expo). Um detalhe útil para times que trabalham com IA: a documentação oficial mantém um arquivo llms.txt com o índice de todas as páginas em Markdown e endpoints em OpenAPI, o que facilita alimentar assistentes de código com a referência certa.

Instalação: o que muda por plataforma

Web. O SDK Web captura automaticamente cliques, taps, scroll e navegação entre páginas depois da instalação, e todas as visualizações de página entram sem configuração extra. Campos como senha e e-mail são mascarados automaticamente.

Android e iOS. A inicialização acontece com um objeto de configuração, onde você define mascaramento, ambiente e comportamento de gravação. No iOS, é possível marcar o ambiente como alpha, beta ou release, o que ajuda a separar sessões de build de teste das de produção. No Android, a captura de crash vem ligada por padrão.

React Native. Instalação via npm ou yarn com o pacote react-native-ux-cam e pod install no iOS. Em Expo, como o SDK exige código nativo, é preciso usar EAS Build.

Como validar: rode o app, navegue por algumas telas e envie o app para segundo plano. A sessão aparece no dashboard poucos segundos depois.

Marcação de telas: a base dos heatmaps

Heatmap em app só faz sentido se cada tela tiver um nome estável. A UXCam oferece nomeação automática, mas a própria documentação de React Native sugere desativar o automático e marcar manualmente. O motivo é prático: nome gerado a partir de classe ou componente muda a cada refatoração e quebra a série histórica.

Boa prática: o nome da tela na UXCam é o mesmo do screen_view no GA4/Firebase.

Identificação de usuários e propriedades

Por padrão, cada instalação recebe um alias aleatório baseado no Install ID. Isso quebra quando a pessoa reinstala o app, divide o aparelho ou entra em vários dispositivos. A solução é chamar setUserIdentity uma vez por sessão, assim que o usuário real for conhecido (login, cadastro, autenticação silenciosa).

// Depois do login

UXCam.setUserIdentity("user_42");

UXCam.setUserProperty("plano", "pro");

UXCam.setUserProperty("origem_cadastro", "google_ads");

Dá para anexar até 100 pares chave-valor por usuário para segmentar funis e heatmaps. Números devem ser convertidos em texto. A chamada precisa acontecer depois da inicialização do SDK, e strings vazias são ignoradas. Depois que um Install ID é ligado a um User ID, o vínculo persiste.

Como testar: faça login com conta de teste em build de debug, espere o upload e busque o User ID em Users no dashboard. Deve aparecer um usuário único com sessões de todos os aparelhos.

Eventos personalizados

Eventos marcam as ações de negócio que a captura automática não entende: assinatura concluída, cupom aplicado, erro de pagamento. O método é logEvent, com nome e propriedades opcionais. Use o mesmo dicionário de eventos do seu plano de mensuração.

Mascaramento de dados sensíveis (occlusion)

Session replay em app bancário, de saúde ou de e-commerce sem mascaramento é risco jurídico. A UXCam chama isso de occlusion: você configura, já na inicialização do SDK, quais telas ou campos devem ser ocultados. A documentação também alerta que dado pessoal não deve ser armazenado sem um acordo de processamento de dados (DPA) em vigor.

Na dúvida, mascare a tela inteira de pagamento e cadastro, e libere elementos específicos depois de validar com o DPO.

Os erros que mais aparecem

  1. Nomeação automática de telas, que muda a cada release e quebra os heatmaps.
  2. setUserIdentity chamado antes da inicialização do SDK.
  3. Propriedades numéricas enviadas sem conversão para texto.
  4. Build de teste gravando no mesmo ambiente da produção.
  5. Telas de pagamento e cadastro sem occlusion.

Perguntas frequentes sobre UXCam

O que é a UXCam?

Uma plataforma de product analytics com session replay e heatmaps, focada em aplicativos móveis e também disponível para web.

A UXCam funciona em React Native e Expo?

Sim. Em React Native a instalação é via npm/yarn; em Expo é necessário EAS Build, porque o SDK usa código nativo.

Como identificar usuários na UXCam?

Chame setUserIdentity com o ID interno do usuário uma vez por sessão, logo após o login ou cadastro.

Quantas propriedades de usuário posso enviar?

Até 100 pares chave-valor por usuário.

A UXCam grava senhas?

Campos de senha e e-mail são mascarados automaticamente no SDK Web, e o mascaramento pode ser configurado por tela e elemento nos SDKs mobile.

Qual a diferença entre UXCam e Firebase Analytics?

O Firebase mede eventos e métricas agregadas; a UXCam mostra a sessão gravada e o comportamento visual em cada tela. Os dois são complementares.