2016-12-14 13 views
0

Meteor 앱이 있고 모든 UI 구성 요소가 React로 제작되었습니다. 나는 라우팅을 위해 FlowRouter를 사용한다.Yandex.Metrika in Meteor + React app를 사용하는 방법?

이제 Yandex.Metrika 서비스로 분석을 추가하고 싶습니다.

내가이 패키지를 발견 반작용 : 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]); 

을하지만 자바 스크립트 번들은 무엇이며 어디에 내 im.init(id) 코드를 삽입해야합니까?

사실은 모두 내가 필요한 Metrika 같은 hit ( pageview 아날로그 롬 조지아), reachGoal 등으로 데이터를 전송하는 funsctions하는 것입니다.

답장을 보내 주셔서 감사합니다.

답변

1

어떤 이유로이 예의 구성 요소가 필요합니까?

당신은 metrika의 주요 코드

어떻게 metrika 작품을로드해야합니다 웹 마스터가 (당신이) 모든 페이지의 js 코드 (로더)의 작은 조각을 삽입합니다. 이 코드는 기본 코드 (로더보다 약간 큽니다)로 비동기 스크립트를 추가하고 metrika 객체 ('counter')의 인스턴스 (new Ya.Metrika(...params))를 만듭니다. 인스턴스는 yaCounterXXXXX이라는 전역 변수에서 사용할 수 있습니다. 여기서 XXXXX은 카운터의 ID입니다.

따라서 <YM /> 구성 요소는 이전 단락의 로더입니다.

사실은 모두 내가 필요한, 같은 히트 (페이지 뷰 아날로그 롬 GA)으로, Metrika로 데이터를 전송하는 funsctions을 가지고 등등 reachGoal하고있다.

readme 맨 아래에 해당 문서가 있습니다. 하지만 그 방법에 대한 카운터 ID로 필터를 볼 수 없습니다. 어쩌면이 기능을 추가하는 데 도움이 될지도 모릅니다. 어떤 경우 든이 전역 변수 yaCounterXXXXX을 다음과 같이 사용할 수 있습니다 yaCounterXXXXX.hit(url, params) 또는 yaCounterXXXXX.reachGoal(goalId, params)

내가 도와줬으면합니다.

+0

Дмитрий, спасибо большое за ответ. Остался непонятным следующий момент - где необходимо инициализировать счётчик? "JavaScript 번들"을 선택하십시오. Насчёт экземпляра счётчика я понял, всю документации метрики читал, но применительно к реакту поясните, пожалуйста .. создавать экземпляр необходимо в каждом элементе (коих может быть много в одном шаблоне) или для каждого шаблона (а шаблоны в данном случае это компоненты, но которые состоят из других компонентов реакта)? Возможно проясню свой вопрос : у меня имеется четкая связь "адрес (경로) - шаблон" –

+0

надеюсь на ваш ответ –

+0

Насколько я понял, 자바 스크립트 - 번들 - это 스크립트 тег, где подключается ваш JS. В двух словах - рендерить компонент и делать'ym.init ([xxxxx])'는 실제 페이지가로드 된 후에 한 번만 필요합니다. 어떤 이유로 당신이 반복적으로 를 호출 할 경우, 끔찍한 아무것도 일어나지 않습니다. 트리거 여러 번'ym.init ([xxxxx는])', 다음, 코드에 따라 데이터가 _realnoy_에서 –