Как использовать Яндекс.Метрику в приложении Meteor+React?

У меня есть приложение Meteor, все компоненты интерфейса которого собраны с помощью React. Я использую FlowRouter для маршрутизации.

Теперь я хочу добавить аналитику с сервисом Яндекс.Метрика.

Я нашел этот пакет для React: https://github.com/narkq/react-yandex-metrika

Но я, как я должен это использовать? По какой причине мне нужно <YM /> компонент из этого примера?

import {Initializer as YM} from 'react-yandex-metrika';

// Use the initializer to add the script to your page somewhere.
var MyComponent = React.createClass({
  render: function() {
    return (
      <div>
        // SNIP
          <YM />
        // SNIP
      </div>
    );
  }
});

И где я должен инициализировать объект трекера? Я прочитал это:

// This is supposed to be executed only in browser and only once.
// Because of that, the most sensible place for this code is right after you javascript bundle.
ym.init([987654321]);

Но что такое javascript bundle и где я должен разместить свой im.init(id) код?

На самом деле все, что мне нужно, это иметь функции для отправки данных в Metrika, такие как hit (pageview аналог rom ga), reachGoal и так далее.

Спасибо за ответ!

1 ответ

Решение

По какой причине мне нужен компонент из этого примера?

Это нужно для загрузки основного кода метрики

Как работает метрика: веб-мастер (вы) вставляет небольшой кусочек js-кода (загрузчик) на все страницы. этот код добавляет асинхронный скрипт с основным кодом (он немного больше загрузчика) и создает экземпляр объекта metrika ('counter') - new Ya.Metrika(...params), Экземпляр будет доступен в глобальной переменной с именем yaCounterXXXXX, где XXXXX это идентификатор вашего счетчика.

Так, <YM /> Компонент является загрузчиком из предыдущего абзаца.

На самом деле все, что мне нужно, это иметь функции для отправки данных в Metrika, такие как hit (аналог просмотра страниц rom ga), reachGoal и так далее.

Есть документ об этом в нижней части readme. Но я не вижу фильтр по идентификатору счетчика для этих методов. Может быть, я сделаю пр, чтобы добавить эту функциональность. В любом случае вы можете использовать глобальную переменную yaCounterXXXXX как это yaCounterXXXXX.hit(url, params) или же yaCounterXXXXX.reachGoal(goalId, params)

Я надеюсь, что помог тебе.

Другие вопросы по тегам