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

时间:2016-12-14 11:11:40

标签: reactjs meteor web-analytics flow-router yandex-metrika

我有一个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发送数据的功能,例如hitpageview模拟rom ga),reachGoal等等。

谢谢你的回答!

1 个答案:

答案 0 :(得分:1)

  

为什么我需要这个例子中的组件?

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

metrika如何运作: webmaster(you)将小块的js代码(loader)插入到所有页面。这段代码用主代码附加异步脚本(它比加载器大一点)并创建metrika对象的实例(&#39; counter&#39;) - new Ya.Metrika(...params)。实例将在名为yaCounterXXXXX的全局变量中提供,其中XXXXX是您的计数器ID。

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

  

实际上我所需要的只是拥有发送数据的功能   Metrika,如hit(pageview analog rom ga),到达Goal等等。

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

我希望我帮助过你。