ReactTrackerTeko
Installation
npm install --save react-tracker-teko
Usage
Simple
import ReactTracker from "react-tracker-teko";
const reactTracker = new ReactTracker({
host: "https://dev-tracking.teko.vn",
urlServeJsFile: "https://dev-tracking.teko.vn/track/libs/tracker.full.min.js",
appId: "chat-tool",
});
const newHistory = reactTracker.connectToHistory(history);
ReactDOM.render(
<Provider store={store}>
<Router routes={routes} history={newHistory} />
</Provider>,
document.getElementById("root")
);
ReactDOM.render(
<Provider store={store}>
<Router routes={routes} history={reactTracker.connectToHistory(history)} />
</Provider>,
document.getElementById("root")
);
Advance
import ReactTracker, {
TrackerProvider,
useAutoPageView,
} from "react-tracker-teko";
const reactTracker = new ReactTracker({
host: "https://dev-tracking.teko.vn",
urlServeJsFile: "https://dev-tracking.teko.vn/track/libs/tracker.full.min.js",
appId: "chat-tool",
});
const ScreenA = (props) => {
track("setUserId", "random-user-id");
useAutoPageView({ screenName: "ScreenA" });
return <>ScreenA</>;
};
const ScreenB = (props) => {
const { callTrackLoadPage, callTrackUnLoadPage } = useTrackPageView();
useEffect(() => {
track("setUserId", "random-user-id");
callTrackLoadPage({ screenName: "ScreenB" });
return () => {
callTrackUnLoadPage({ screenName: "ScreenB" });
};
}, []);
return <>ScreenA</>;
};
ReactDOM.render(
<Provider store={store}>
<TrackerProvider history={browserHistory}>
<Router routes={routes} history={history} />
</TrackerProvider>
</Provider>,
document.getElementById("root")
);
Advance with content
import { TrackerProvider, useAutoPageView } from "react-tracker-teko";
new ReactTracker({
host: "https://dev-tracking.teko.vn",
urlServeJsFile: "https://dev-tracking.teko.vn/track/libs/tracker.full.min.js",
appId: "chat-tool",
});
const ScreenB = (props) => {
const { callTrackLoadPage, callTrackUnLoadPage } = useTrackPageView();
useEffect(() => {
track("setUserId", "random-user-id");
callTrackLoadPage({ screenName: "ScreenB" });
track("enableTrackVisibleContentImpressions");
return () => {
track("disableTrackVisibleContentImpressions");
callTrackUnLoadPage({ screenName: "ScreenB" });
};
}, []);
return <>ScreenA</>;
};
ReactDOM.render(
<Provider store={store}>
<TrackerProvider history={browserHistory}>
<Router routes={routes} history={history} />
</TrackerProvider>
</Provider>,
document.getElementById("root")
);
License
MIT