0

여기에 철 라우터 작업 Google 웹 로그 분석을 얻을 나의 시도 lib/analytics.js에서Google 웹 로그 분석

나는 다음 코드 (분석의 코드 페이지에서 붙여 넣기) 한 :

if (Meteor.isClient) { 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

    ga('create', 'UA-45905917-2', 'ec2-54-246-15-224.eu-west-1.compute.amazonaws.com'); 
} 

그런 다음, client/router.coffee에 다음 코드 :

Router.configure layoutTemplate: 'layout' 

Router.map -> 
    @route 'home', 
     path: '/' 
     template: 'home' 
     after: -> ga('send', 'pageview') 

    for link in Pages.links 
     route = 
      path: link.url 
      template: link.toTemplate 
      after: -> ga('send', 'pageview') 
     @route link.toTemplate, route 

그러나 이것은 일한 것 같지 않았다. 어떻게 해결할 수 있습니까?

내가 GAnalytics을 시도,하지만 난 내 배포 설치와 관련된 문제를 많이했다 및 유성

+0

안녕하세요.이 답변을 게시하지 않으므로 최근에 내 'html' 템플릿 내에서' '태그 내에 Google Analyics 코드를 붙여서 작업하고 있습니다. 이렇게 : view-source : http : //mixtape.meteor.com/ – Louis93

+0

이 기사를 보시오 : http://www.bicobic.com/posts/BkFDo4CqcSnGcGtri 이것은 필요하지 않은 스크립트 로더를 통해 GA 스크립트를로드한다. 템플릿에 스크립트를 포함하는 방법을 보여줍니다. 레이아웃에서 불러주세요. Chrome 용 Google 애널리틱스 디버거도 확인합니다. – chaosbohne

답변

0

제 생각에 옵션은 Template.rendered를 사용하는 것입니다. 하나의 문제는 템플릿 데이터 변경 사항을 인식해야한다는 것입니다. 예 :

Template.yourTemplate.rendered = function(){ 
    var self = this; //In case you need it but self.data IS NOT REACTIVE 

    this.autorun(function(){ 
    //This is reactive 
    var data = Template.currentData(); 

    //place your analitycs code here 

    }); 
} 

템플릿 컨테이너에 사용하는 것이 좋습니다. analytics.js 스 프로젝트를 사용할 때 콘솔에 analytics.debug()를 호출하면 볼 수 있습니다 경우

+0

하지만 그때마다 내가 사용하는 각 템플릿에 그것을 추가해야 할 것입니다. 한 번 쓰는 것이 더 좋을 것입니다. 템플릿 컨테이너를 기다리시겠습니까? 해킹 같은데. – krivar

+0

또한 분석 코드가 자동 실행에 있어야합니까? – krivar

+0

해킹이 아니라 실제로 필요한 것입니다. 왼쪽 사이드 패널에서 잡지 기사와 컨테이너를 중앙에서 선택하는 것을 상상해보십시오. 왼쪽의 잡지 기사를 선택하면 라우터를 사용하거나 간단히 세션이나 반응 형 사전을 사용할 수 있습니다. Session/Reactive Dict 사용은 더 빠르지 만 기회를 추적해야합니다.Meteor가 SPA 용이므로 Routing에 대해 Reactive Dict를 선택 하겠지만 실제로는 프로젝트 사양에 따라 다릅니다. –

1

우리가 이것에 대한 해결 방법은 페이지 기능 onAfterAction를 호출은

Router.onAfterAction(function() { 
    analytics.page(this.route.getName()); 
}); 

도움이되는 힌트입니다 코드가하는 일. 우리는 몇 유성 프로젝트에 analytics.js를 사용했습니다

아직 우리가 유성 패키지로 추출 :

okgrow:analytics

우리는 그것이 설치, 그래서 만약 대부분의 프로젝트에 철 라우터를 사용,이 패키지 경로 이름을 기반으로 자동으로 페이지 뷰를 전송합니다 (단, 프로젝트에서 Iron Router를 사용하지 않는 경우 불평하지 않음). 계정 패키지가 설치되어있는 경우 사용자 로그인/로그 아웃을 자동으로 기록하며 물론 이벤트시 track() 호출을 설정할 수 있습니다.

희망이 도움이됩니다.