如何在 Meteor+React 应用中使用 Yandex.Metrika?

How to use Yandex.Metrika in Meteor+React app?

我有一个 Meteor 应用程序,所有 UI 组件都是用 React 构建的。我使用 FlowRouter 进行路由。

现在我想使用 Yandex.Metrika 服务添加分析。

我为 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 捆绑包,我应该将 im.init(id) 代码放在哪里?

其实我所需要的只是有发送数据到Metrika的功能,比如hit (pageview analog rom ga), reachGoal等等。

感谢您的回答!

For what reason do I need component from this example?

您需要它来加载 metrika 的主要代码

metrika 的工作原理: 网站管理员(您)向所有页面插入一小段 js 代码(加载程序)。此代码将异步脚本附加到主代码(它比加载器大一点)并创建 metrika 对象的实例 ('counter') - new Ya.Metrika(...params)。实例将在名为 yaCounterXXXXX 的全局变量中可用,其中 XXXXX 是您的计数器的 ID。

因此,<YM /> 组件是上一段中的加载器。

Actually all what I need is to have funsctions to send data to Metrika, such as hit (pageview analog rom ga), reachGoal and so on.

自述文件底部有相关文档。但我看不到该方法的计数器 ID 过滤器。也许我做一个 pr 来添加这个功能。在任何情况下,您都可以像这样使用全局变量 yaCounterXXXXX yaCounterXXXXX.hit(url, params)yaCounterXXXXX.reachGoal(goalId, params)

希望对你有所帮助。