Redux Segment Node
Redux middleware for segment. This library was created with reference to analytics-react-native.
Installation
$ npm i -S redux-segment-node
Demo
# replace the `key` with your `Segment API key` in `config.json`
$ npm run dev
# and visit localhost:7777
Usage
// import { applyMiddleware, createStore } from 'redux';; const segmentMiddleware = ; const middleware = ; // const store = createStore(/* ... */); // identify (recommended: pass `userId` in `eventPayload`)store; // track (required: pass `event` in `eventPayload`)// If you pass the `signout` or `logout` as an `event` in `track` type,// The `userId` will be removed.store; // page (recommended: pass `name` in `eventPayload`)// screen (similar with `page`)store; // group (required: pass `groupId` in `eventPayload`)store; // alias (required: pass `userId` in `eventPayload`)store;
Configuration
createSegmentTracker arguments
property | type | remark |
---|---|---|
key | string(required) | |
platform | string(optional) | one of [android , ios ] or undefined |
host | string(optional) | Host where reports will be sent. Useful for debug. |
flushAt | number(optional) | The number of messages to enqueue before flushing. |
flushAfter | number(optional) | The number of milliseconds to wait before flushing the queue automatically. |
Event Types (Segment API Specification)
identify
: Can tie an user to their action and record traits about them.track
: Can track any actions that users perform.page
: Can record the page that users are stay in.screen
: Can record the screen that users are stay in. (for the mobile application)group
: Can associate the individual users with a group.alias
: Can merge two user identities.