FullStory React Native Plugin
FullStory's React Native plugin exposes access to the FullStory Native Mobile SDK from within a React Native app. This plug-in is intended to be used in conjunction with FullStory for Mobile Apps.
Quick Links
Install the React Native plugin
with npm
npm i @fullstory/react-native --save
with yarn
yarn add @fullstory/react-native
with expo-cli
expo install @fullstory/react-native
Configuring the babel plugin
@fullstory/babel-plugin-react-native
is automatically included as a dependency to the FullStory React Native plugin. Please refer to the babel plugin's README.md for information on how to configure it.
@fullstory/babel-plugin-annotate-react
is automatically included as a dependency to the FullStory React Native plugin. Please refer to the babel plugin's README.md for information on how to configure it for React Native.
Importing the React Native plugin
In order to use the FullStory Native Mobile SDK from within a React Native app, importing the React Native plugin is all that is required.
Importing Example
Here's an example of importing the SDK in a React Native app.
import FullStory from '@fullstory/react-native';
Configuring for Expo
This package cannot be used in the "Expo Go" app because it requires custom native code.
Add the config plugin to the plugins array of your app.json
or app.config.json
{
"expo": {
"plugins": [
[
"@fullstory/react-native",
{
"version": "1.28.0",
"org": "ABC",
"additionalConfigs": {
"ios": {
"PreviewMode": true
},
"android": {
"previewModeEnabled": false
}
}
}
]
]
}
}
Plugin Props
Plugins allow for extra customization by passing in an object with properties. If no extra properties are added, defaults will be used. Certain properties are required.
Property | Platform | Required | Description |
---|
version | Android & iOS | ✅ | FullStory for Mobile Apps plugin version. |
org | Android & iOS | ✅ | Your assigned organization ID. |
host | Android & iOS | Optional. Defaults to: fullstory.com | The server url your sessions are sent to. |
recordOnStart | Android & iOS | Optional. Defaults to: true | Setting RecordOnStart to false will prevent data capture until you explicitly invoke FS.restart() API. |
additionalConfigs | Android & iOS | Optional. Defaults to: nil | Pass additional configurations to Android or iOS. |
enabledVariants | Android | Optional. Defaults to: release | Specifies which variants to apply FullStory instrumentation. |
logLevel | Android | Optional. Defaults to: info | Captures any log statements at or above the specified level. |
logcatLevel | Android | Optional. Defaults to: off | Captures any Logcat messages at or above the specified level. |
includeAssets | iOS | Optional. Defaults to: nil | Specify webview file types to upload for playback. This is strongly recommended if you intend to capture WebViews. |