ReadyNative

Crash reporting · Crash reporting

Expo + Sentry

Sentry in an Expo SDK 57 app for iOS and Android, wired by one command and checked by doctor.

This reports crashes and handled errors to Sentry: src/lib/crash.ts calls Sentry.init once crash consent is given (only when the DSN is set, with environment from APP_VARIANT, errors only, no traces), crash.capture(err, ctx) maps to captureException with ctx as extra, and CrashBoundary is a Sentry.ErrorBoundary whose fallback is the kit's ErrorState with Retry. CrashProvider (order 40) mounts that boundary app-wide, with its own ThemeProvider since it sits above the ui provider. If you set up with --with-examples there's an example at /examples/crash and tests for both the capture path and the boundary. @/lib/crash keeps the same API whichever option you pick - Sentry is the one service option here, and it's what you want the moment real users can hit a bug you can't reproduce.

At a glance

Runs in Expo Go
Yes
Files added
5
npm packages
1
Keys to paste
EXPO_PUBLIC_SENTRY_DSN
Included in
Pro

Set it up

bun run setup --crash sentry

Setup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the Sentry docs.

Get it

Sentry ships in Pro: one payment, lifetime updates. See pricing or browse every module.