Как использовать Яндекс.Метрику в приложении 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)
Я надеюсь, что помог тебе.