Visão geral
O Nemu React Native SDK permite que aplicações mobile desenvolvidas em React Native:- Capturem UTMs recebidas por deep links
- Persistam a origem da sessão do usuário
- Associem um UID do usuário logado à sessão
- Recuperem as UTMs da última sessão para envio de eventos (ex: vendas)
Requisitos
- React Native: 0.68 ou superior
- Node.js: 16 LTS
Android
- minSdkVersion: 21 (Android 5.0)
- targetSdkVersion: 34 (Android 14)
iOS
- Deployment Target: 11.0+
android/ e ios/.
Instalação
1. Instalar o SDK
2. Instalação no iOS
3. Instalação no Android
Adicione a dependência abaixo emandroid/app/build.gradle:
Configuração de credenciais
Para inicializar o SDK, você precisará de:- PIXEL_ID da Nemu
- SDK_TOKEN da Nemu
Para obter o PIXEL_ID e o SDK_TOKEN, converse com o seu gerente de contas da Nemu.
Usando variáveis de ambiente (react-native-config)
- Instale a dependência:
- Crie um arquivo
.envna raiz do projeto:
Inicialização do SDK
O SDK deve ser inicializado o mais cedo possível, preferencialmente no componente raiz da aplicação.Exemplo (App.tsx)
- Conecta o aplicativo aos serviços da Nemu
- Ativa logs de debug para validação durante o desenvolvimento
- Garante que UTMs capturadas por deep links sejam processadas corretamente
Registrar UID do usuário
Antes de iniciar a instalação e uso da SDK em sua aplicação é necessário definir qual será o UID (Identificador único) por usuário a ser utilizado, esse identificador é definido pela própria equipe que irá realizar a integração, esse identificador será utilizado para linkar acessos da web com o aplicativo e vice versa, tornando o traqueamento extremamente preciso e eficiente. O UID deve ser um valor único por usuário em sua aplicação, normalmente recomendamos utilizar valores já comuns e existentes em sua base de dados como identificador, sendo as opções mais comum o email do usuário Após o usuário realizar login no aplicativo, registre o identificador do usuário no SDK.Todos os identificadores de usuário registrados pelo SDK são tratados de forma segura.
Exemplo após login
Usuários já logados
Caso o aplicativo carregue uma sessão já autenticada, registre o UID assim que o usuário estiver disponível:Atribuição de instalação do aplicativo
A atribuição de instalação permite identificar a origem do usuário no primeiro acesso ao aplicativo, mesmo quando não há um deep link direto no momento da abertura. O SDK da Nemu coleta automaticamente informações de origem fornecidas pela loja de aplicativos (Google Play ou App Store) para associar a instalação a uma fonte de tráfego válida.Quando a atribuição de instalação é utilizada
A atribuição de instalação ocorre quando:- O usuário instala o aplicativo pela primeira vez
- Não existe um deep link ativo no momento da abertura do app
- A origem está disponível através dos mecanismos da loja
A atribuição de instalação é aplicada apenas na primeira abertura do aplicativo após a instalação.
O que é atribuído na instalação
Quando disponível, o SDK associa à sessão inicial informações como:- Fonte de tráfego (
utm_source) - Meio (
utm_medium) - Campanha (
utm_campaign) - Outros parâmetros de origem fornecidos pela plataforma
getLastSessionHistory().
Após a instalação e abertura do aplicativo, a origem atribuída à instalação estará disponível automaticamente para uso em eventos e vendas.
Deferred Deep Links
Os Deferred Deep Links permitem que a origem de um clique seja preservada mesmo quando o usuário:- Clica em um link com UTMs que leva ao site
- Ainda não possui o aplicativo instalado
- Instala o aplicativo
- Abre o aplicativo pela primeira vez
Quando os Deferred Deep Links são aplicados
Os deferred deep links são utilizados quando:- O aplicativo é instalado após um clique em um link com UTMs
- O app é aberto pela primeira vez após a instalação
- Não há um deep link ativo no momento da abertura
Exemplo de fluxo completo
- Usuário clica em um link de campanha:
- Usuário é redirecionado para a loja de aplicativos (Play Store ou App Store)
- Usuário instala o aplicativo
- Usuário abre o aplicativo pela primeira vez
- O SDK recupera automaticamente as UTMs do clique original
- A sessão inicial passa a conter essas UTMs
As UTMs recuperadas por deferred deep link devem ser utilizadas da mesma forma
que UTMs capturadas por deep links diretos.
Comportamento esperado
- Deferred deep links são aplicados apenas na primeira sessão após a instalação
- Em acessos posteriores, novas origens podem sobrescrever a sessão caso existam novos deep links
- Caso não exista origem atribuível, a sessão pode ser registrada sem UTMs
Deep Links
O Nemu React Native SDK já consome automaticamente a APILinking do React Native para capturar:
- A URL que abriu o app
- URLs recebidas enquanto o app já está em execução
O que o SDK faz
- Captura URLs via
Linking - Extrai UTMs e parâmetros
nemu_* - Persiste a origem da sessão
- Associa eventos enviados à origem capturada
O que precisa ser configurado no app
Android
Configurar umintent-filter no AndroidManifest.xml para o domínio ou scheme utilizado pelo app.
iOS
Configurar Universal Links (Associated Domains) para o domínio utilizado pelo app.apple-app-site-association deve estar disponível no domínio configurado.
Recuperar UTMs da última sessão
O métodogetLastSessionHistory() retorna as UTMs da última sessão atribuível do usuário.
Exemplo de uso
Envio de eventos personalizados
Além da captura automática de sessões e UTMs, o SDK da Nemu permite que a aplicação dispare eventos personalizados para mapear ações importantes do usuário dentro do aplicativo. Inicialmente, os eventos são enviados apenas com o nome do evento, sem propriedades adicionais.Mesmo assim, todos os eventos são automaticamente associados à sessão, às UTMs e ao UID do usuário (quando disponível).
Método sendEvent
O envio de eventos é feito através do método sendEvent, informando apenas o nome do evento.
Eventos recomendados (padrão de mercado)
Abaixo estão exemplos de eventos clássicos utilizados em análises de funil, jornada do usuário e atribuição de campanhas.Page View (visualização de tela)
Dispare sempre que o usuário acessar uma tela relevante do aplicativo.- Home
- Categoria
- Produto
- Checkout
View Item (visualização de produto)
Utilizado quando o usuário visualiza a tela de um produto.Add to Cart (adicionar ao carrinho)
Dispare quando o usuário adicionar um item ao carrinho.Remove from Cart (remover do carrinho)
Begin Checkout (início do checkout)
Indica que o usuário iniciou o processo de compra.Boas práticas para eventos
Recomendamos utilizar nomes de eventos em
snake_case,
seguindo padrões conhecidos de mercado (ex: GA4).Recomendações importantes
- Dispare eventos somente após o SDK estar inicializado
- Sempre que possível, dispare eventos após o UID estar registrado
- Utilize nomes de eventos consistentes e padronizados
- Evite criar múltiplos nomes para o mesmo comportamento
Associação automática com UTMs
Todos os eventos enviados viasendEvent são automaticamente associados pelo SDK a:
- Última sessão atribuível do usuário
- UTMs capturadas (deep link, deferred deep link ou instalação)
- UID do usuário (quando registrado)
Após a implementação, os eventos passam a compor a jornada do usuário na Nemu, permitindo análises mais completas de comportamento e atribuição, mesmo sem propriedades adicionais nos eventos.
Enviar venda com UTMs
Utilize as UTMs retornadas pelo SDK ao enviar eventos de venda para a API da Nemu.As UTMs devem ser enviadas exatamente como retornadas pelo SDK.
Testando a integração
1. Ative o modo debug
2. Fluxo recomendado de teste
- Instale o app limpo
- Abra o app via deep link com UTMs
- Verifique os logs de captura
- Faça login e registre o UID
- Recupere as UTMs com
getLastSessionHistory() - Envie uma venda contendo essas UTMs