UNPKG

@fullstory/react-native

Version:
96 lines (69 loc) 5.05 kB
# FullStory React Native Plugin [![CircleCI](https://circleci.com/gh/fullstorydev/fullstory-react-native.svg?style=svg)](https://circleci.com/gh/fullstorydev/fullstory-react-native) 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](https://www.fullstory.com/mobile-apps/). ## Quick Links - [FullStory API](https://developer.fullstory.com) - [Getting Started Guide](https://help.fullstory.com/hc/en-us/articles/360052419133) - [Email us](mailto:mobile-support@fullstory.com) ## 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](https://github.com/fullstorydev/fullstory-babel-plugin-react-native/blob/master/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](https://github.com/fullstorydev/fullstory-babel-plugin-annotate-react/blob/master/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. ```JSX 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](https://docs.expo.io/workflow/customizing/). Add the config plugin to the plugins array of your `app.json` or `app.config.json` ```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](https://help.fullstory.com/hc/en-us/articles/360040596093-Getting-Started-with-Android-Data-Capture#01F5E7XFMG19SNYS77NYETKDMQ) or [iOS](https://help.fullstory.com/hc/en-us/articles/360042772333-Getting-Started-with-iOS-Data-Capture#01FX61TBJ8FAD9CWBMY31DWSTH). | | 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. |