Skip to content

fullstorydev/segment-react-native-plugin-fullstory

Repository files navigation

@fullstory/segment-react-native-plugin-fullstory

CircleCI

EnrichmentPlugin for FullStory. This is a segment analytics plugin that wraps @fullstory/react-native.

Prerequisite

Setting up FullStory

Please make sure that your application is correctly set up with FullStory. See FullStory's React Native documentation to get started.

Setting up Segment

This plugin works in conjunction with @segment/analytics-react-native. Follow Segment's installation instructions.

Installation

Install the @fullstory/segment-react-native-plugin-fullstory and @fullstory/react-native dependencies.

yarn add @fullstory/segment-react-native-plugin-fullstory @fullstory/react-native
# or
npm install --save @fullstory/segment-react-native-plugin-fullstory @fullstory/react-native

Run pod install after the installation to autolink the FullStory SDK.

Usage

In your code where you initialize the analytics client call the .add({ plugin }) method with an FullStoryPlugin instance.

// App.js

import { createClient } from '@segment/analytics-react-native';
import { FullStoryPlugin } from '@fullstory/segment-react-native-plugin-fullstory';

const segmentClient = createClient({
  writeKey: 'SEGMENT_WRITE_KEY',
});

const plugin = new FullStoryPlugin({
  // configurations
  enableFSSessionUrlInEvents: true,
});

segmentClient.add({ plugin });

Configurations

The plugin accepts a configuration object with the following properties:

Property Description
enableFSSessionUrlInEvents Insert FS session URL to Segment event properties. Defaults to true.
allowlistAllTrackEvents Send all track events as FS custom events. Defaults to false.
enableIdentifyEvents Enable Segment identify events to be sent as FS identify events. Defaults to true.
allowlistTrackEvents An array of event names to allow to send to FullStory. To allowlist all events, use allowlistAllTrackEvents.
enableSendScreenAsEvents Send screen events as FS custom events. Defaults to false.
enableGroupTraitsAsUserVars Enable group event traits to be passed into FS user vars. Defaults to false.

Example

We included a simple react native app that implements the plugin under ./example. See example README for additional instructions.

License

MIT