O que o SDK faz (e o que não faz)
O SDK da Gu1 roda dentro do seu app e captura o que o backend não consegue ver: sinais do dispositivo, integridade do ambiente e a jornada de telas — incluindo tudo o que acontece antes do login. Os eventos que você já envia do seu backend continuam exatamente iguais: eles apenas carregam umsessionId adicional para que o motor da Gu1 cruze os dois mundos.
O SDK é fail-open por design: nunca bloqueia o app, nunca propaga erros (a única exceção é configuração inválida na inicialização), não exige nenhuma permissão e não acessa dados do usuário.
| Tamanho | ~150 KB |
| Permissões exigidas | Nenhuma |
| Requisitos | React Native 0.71+, iOS 13+, Android 6+ (API 23) |
| Distribuição | npm privado (escopo @gu1 — solicite acesso de leitura à Gu1) |
1. Instalação
AndroidManifest.xml nem no Info.plist.
2. Inicialização (no entry point do app)
sessionId anônimo, coleta sinais do dispositivo e os envia em segundo plano. Nada mais é necessário no app para a captura de sinais.
3. Rastreamento de telas (recomendado — 5 linhas)
Com React Navigation, o SDK captura navegação e tempos de tela automaticamente:4. O sessionId até o seu backend (1 header)
Para vincular os eventos do seu backend à sessão do dispositivo, adicione osessionId como header nas chamadas do app ao seu próprio backend:
- Primeira requisição autenticada: envie à Gu1 um evento com o
sessionId+ oentityExternalIddo usuário. A Gu1 vincula retroativamente toda a sessão, incluindo o que aconteceu antes do login. - Eventos existentes: adicione o campo opcional
sessionId(camelCase) aos eventos que você já envia paraPOST /events/user— eventos sem ele continuam funcionando normalmente.
5. Transações (1 linha)
Nas transações que você envia à Gu1, osessionId viaja no metadata:
6. Verificação
- Inicialize o app em sandbox → a sessão aparece no dashboard da Gu1 com os sinais do dispositivo.
- Navegue entre telas → eventos
NAVIGATIONautomáticos. - Faça login → a sessão fica vinculada ao usuário (binding retroativo).
- Execute uma transferência de teste → a transação mostra o contexto da sessão na sua avaliação.
Resumo da integração
| Passo | Onde | Esforço |
|---|---|---|
| Instalar + inicializar | App | ~15 min |
| Rastreamento de telas | App | 5 linhas |
Header X-Gu1-Session-Id | App (cliente HTTP) | 1 linha |
sessionId nos eventos + binding | Backend (middleware) | ~1 hora |
sessionId nas transações | Backend | 1 linha |