@cmpsr/analytics
v0.5.0
Published
## Philosophy
Downloads
759
Readme
ANALYTICS
Philosophy
To be analytic provider agnostic while mirroring itself into the React ecosystem. Since Segment is also trying to do the same thing, their API makes sense as a good base.
How it works
React app is wrapped in <AnalyticsProvider>
which passes context
down with functions to track user activities. When these functions are called, it will loop through all valid analytics providers and call their equivalent api.
API
identify: Let the provider know who the logged in user is group: If there are multiple portals, this helps separate them. This is advanced. page: Track a new page, can be added to Next's router track: Track an even such as a button click user: Returns the auto assigned id reset: Clear the identity
More information can be found on Segment
Supported Providers
- GTag
- Segment
- GA (will deprecated july 2023)
Setup
Compile
To compile this library please run yarn run libbuild
Add Provider
Wrap the root of your React app in <AnalyticsProvider><YOUR APP /></AnalyticsProvider>
.
Here are the props you can pass in to enable these providers.
export interface IAnalyticsProvider {
segment?: ISegmentConfig;
gtag?: IGTagConfig;
ga?: IGAConfig;
}
Use Function
import useAnalytics from 'useAnalytics';
const { track } = useAnalytics();
track('Hello World');
TODO
Add tests