Skip to main content

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 install for 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 minSdk is 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


4. Auto-Captured Signals — verify in dashboard

These need no extra code once setup is done. Confirm each appears in the dashboard.


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.