From 3c4fae81c4acc6e72a7088c2b9f4c59b925291dd Mon Sep 17 00:00:00 2001 From: Yasuaki Uechi Date: Fri, 6 Mar 2020 00:35:37 +0900 Subject: [PATCH] fix: track route event --- web/src/index.tsx | 9 +++++---- web/src/util/analytics.ts | 9 ++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/web/src/index.tsx b/web/src/index.tsx index e1a51d9..2af3c37 100644 --- a/web/src/index.tsx +++ b/web/src/index.tsx @@ -1,21 +1,22 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import {BrowserRouter as Router} from 'react-router-dom'; +import {Router} from 'react-router-dom'; import App from './App'; import * as serviceWorker from './serviceWorker'; import {FullScreenSuspense} from './util/suspense'; -import {initGA, initSentry} from './util/analytics'; +import {initHistoryWithGA, initSentry} from './util/analytics'; import {initCrisp} from './util/crip'; import './util/i18n'; -initGA(); initSentry(); initCrisp(); +const history = initHistoryWithGA(); + ReactDOM.render( - + , diff --git a/web/src/util/analytics.ts b/web/src/util/analytics.ts index c671588..b4267f8 100644 --- a/web/src/util/analytics.ts +++ b/web/src/util/analytics.ts @@ -1,13 +1,20 @@ import ReactGA from 'react-ga'; import * as Sentry from '@sentry/browser'; +import {createBrowserHistory} from 'history'; const isProduction = process.env.NODE_ENV !== 'development'; -export function initGA(): void { +export function initHistoryWithGA() { + const history = createBrowserHistory(); if (isProduction) { ReactGA.initialize('UA-28919359-15'); ReactGA.pageview(window.location.pathname + window.location.search); + history.listen((location) => { + ReactGA.set({page: location.pathname}); + ReactGA.pageview(location.pathname); + }); } + return history; } export function track({