React Native session replay installation
Contents
- 1
Install the packages
RequiredInstall the PostHog React Native library, its dependencies, and the session replay plugin:
Plugin renamed in 4.47.0+@posthog/react-native-plugin(>= 2.0.1) is the renamedposthog-react-native-session-replayplugin — it was renamed inposthog-react-native4.47.0+ and now also powers native error tracking. If you're on aposthog-react-nativeversion earlier than 4.47.0, installposthog-react-native-session-replayinstead.SDK versionSession replay requires PostHog React Native SDK version 3.2.0 or higher. We recommend always using the latest version.
- 2
Enable session recordings in project settings
RequiredGo to your PostHog Project Settings and enable Record user sessions. Session recordings will not work without this setting enabled.
- 3
Configure PostHog with session replay
RequiredAdd
enableSessionReplay: trueto your PostHog configuration. Here are all the available options:App.tsxFor more configuration options, see the React Native session replay docs.
RequirementsRequires Android API 26+ and iOS 13+. Expo Go is not supported - use a development build. Session replay is only supported on Android and iOS platforms.
- 4
Watch session recordings
RecommendedVisit your site or app and interact with it for at least 10 seconds to generate a recording. Navigate between pages, click buttons, and fill out forms to capture meaningful interactions.
- 5
Next steps
RecommendedNow that you're recording sessions, continue with the resources below to learn what else Session Replay enables within the PostHog platform.
Resource Description Watching recordings How to find and watch session recordings Privacy controls How to mask sensitive data in recordings Network recording How to capture network requests in recordings Console log recording How to capture console logs in recordings More tutorials Other real-world examples and use cases
iOS dependency resolution
By default, the optional React Native native plugin resolves posthog-ios through CocoaPods.
If your iOS project uses Swift Package Manager for native dependencies, you can opt in to resolving posthog-ios through SPM instead. Add the following to ios/Podfile.properties.json:
This path requires use_frameworks! :linkage => :dynamic in your ios/Podfile. Without posthog.useSpm, the default CocoaPods resolution path is unchanged.