RN Integration Checklist
Tick each box top to bottom. Every item links to the page with the exact steps — this page stays a checklist, not a tutorial.
tip
If every box is ticked, your React Native app is sending the full Pulse signal: crashes, errors, network, screens, interactions, replays, and source-mapped stack traces.
Using Expo?
Use the Expo Integration Checklist instead — the install and config steps are different.
1. Install & Setup
- SDK installed in the project → Install
- Native iOS initialization done (Swift or Objective-C) with API key and data-collection state → iOS native init
- Native Android initialization done with API key and data-collection state → Android native init
- Pulse started in JS at the root of the app, before any screens render → JS init
- Fresh native build done after install (
pod installfor iOS, Gradle sync for Android) → Install
2. Platform-specific Toggles
- Android — OkHttp / image network monitoring enabled (Gradle plugin wired up) → Android Network
- Android — Library desugaring enabled if your
minSdkis below 26 → Install - Greenfield apps — duplicate native screen-lifecycle events disabled (Fragment on Android, ViewController on iOS) so JS navigation is the single source → Navigation · greenfield tip
- Brownfield apps — kept native screen-lifecycle events on so native screens are still tracked alongside JS → Install · brownfield
3. Navigation Tracking
- React Navigation tracking wired up (
navigationRef+onReady) → Navigation Instrumentation
4. Auto-Captured Signals — verify in dashboard
These need no extra code once setup is done. Confirm each appears in the dashboard.
- Crashes — Android, iOS, and JS — learn more in the Errors guide
- Network requests from the JS layer — learn more in the Network guide
- Native network traffic (images and other native HTTP) — on by default on iOS; Android needs the OkHttp Gradle plugin — see the Network guide
- Screen Load and Screen Session events (depends on step 3) — learn more in Navigation Instrumentation
- Sessions, ANR, slow frames, app startup — see Overview · what auto-collects
5. Opt-in Features
- Custom events bridged from your analytics layer in one central place → Custom Events
- Interactions created in the dashboard from those custom events → Managing Interactions
- Handled errors reported from your catch blocks → Errors · manual reporting
- Error boundary in place at the app root (or report through your existing one) → Error Boundaries
- Screen Interactive (Time-To-Interactive) tracking enabled and marked when content is ready → Navigation Instrumentation
- User identified on login and cleared on logout → Set a User ID
- User properties set (name, type, plan, etc.) → Set User Properties
- Global attributes set for environment, app variant, feature flags → Global Attributes
- Session Replay enabled in dashboard config
- Heatmaps enabled in dashboard config → Heatmaps
- Click tracking enabled in dashboard config
6. Release Builds — Source Maps & Symbols
Without these, crash and error stack traces stay minified.
- JS source maps uploaded for Android → Source Maps
- JS source maps uploaded for iOS → Source Maps
- Android mapping file (ProGuard / R8) uploaded for the release → Source Maps
- iOS dSYM uploaded for the release → Source Maps
All ticked? Head to the Dashboard Overview to start exploring the data.