Configuração de relatórios de falhas em builds EAS. @sentry/react-native captura falhas JS e nativas em binários publicados. O pacote legado sentry-expo está deprecado - use @sentry/react-native com o assistente Sentry no SDK 57. Para source maps, release health, breadcrumbs e transações de performance, veja Sentry para React Native.
eas build (production) → Metro faz o bundle com o plugin Sentry → Compilação nativa (dSYM do iOS, símbolos do Android) → Pós-build: upload de source maps (hook do assistente) → Armazena binário + pilhas JS symbolizadas no Sentry
import * as Sentry from "@sentry/react-native";export function setSentryUser(userId: string) { Sentry.setUser({ id: userId }); // nunca defina email ou PII sem redação}export function clearSentryUser() { Sentry.setUser(null);}
Chame no login/logout junto com queryClient.clear() e limpeza do MMKV.
Inicializar o Sentry tarde - Perde falhas de inicialização precoces. Correção: Topo de _layout.tsx antes de outros efeitos colaterais.
Pular o upload de source maps - Pilhas Hermes mostram offsets de bytecode. Correção: Hook EAS do assistente + segredo SENTRY_AUTH_TOKEN.
Relatórios de erro duplicados - captureException + relançamento do boundary. Correção: Capture uma vez em componentDidCatch; não relance para o manipulador global.
Testar apenas no Expo Go - Captura de falhas nativas incompleta. Correção: Valide as integrações no perfil de desenvolvimento EAS.
DSN em repositório privado - DSN é público por design, mas rotacione se vazado; use o ambiente EAS por perfil.
Dois reportadores de falhas - Eventos duplicados e inchaço do SDK. Correção: Um fornecedor - Sentry ou alternativa empresarial.
Parcialmente - a captura de falhas nativas requer um build de desenvolvimento ou binário publicado. Valide as integrações no perfil de desenvolvimento EAS.
O que vai em release vs dist?
release = versão nativa do app (1.4.2+42). dist = ID de atualização OTA ou número de build - distingue bundles JS sob o mesmo release.
Preciso de um novo build EAS após adicionar o Sentry?
Sim - a captura de falhas nativas requer hooks nativos. Execute o assistente, depois eas build.