Использование analytics.js в React без реакции-га - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу интегрировать аналитику Google в свое приложение реагирования без использования пакета activ-ga.В частности, я хотел бы иметь возможность получить доступ к функции ga в компоненте реакции.Как мне получить доступ к функции ga, если я импортирую скрипт analytics.js в свой HTML?Когда я пытаюсь console.log(window.ga), мне говорят, что это не определено.Спасибо!

class App extends React.Component {
  render() {
    console.log(window.ga);
    return (
      <h1>This is a react app!</h1>
    );
  }
}

ReactDOM.render(<App />, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

<script async src='//www.google-analytics.com/analytics.js'></script>

<div id="app"></div>

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Я предлагаю использовать библиотеку аналитики сегмента и следовать нашему Руководству по быстрому старту .Вы можете отслеживать посещения страниц с помощью response-router и поведения пользователей в компонентах React, используя один API.Вот пример отслеживания клика User Signup с использованием обработчика событий React:

export default class SignupButton extends Component {
  trackEvent() {
    window.analytics.track('User Signup');
  }

  render() {
    return (
      <button onClick={this.trackEvent}>
        Signup with Segment today!
      </button>
    );
  }
}

Я поддерживаю https://github.com/segmentio/analytics-react. С помощью сегмента вы сможете переключаться между различными адресатамиВключение и выключение одним щелчком переключателя, если вы хотите попробовать несколько инструментов аналитики (мы поддерживаем более 250 направлений) без необходимости написания дополнительного кода.?

0 голосов
/ 27 ноября 2018

Это фрагмент кода, который вы должны включить:

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

или этот, если хотите сохранить ссылку на analytics.js

window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...