2013-12-12 103 views
2

在您的Meteor应用中包含Google Analytics跟踪代码的最佳方式是什么,有条件地仅适用于生产环境?使用谷歌分析与流星

我熟悉this guide,但它只适用于特定的模板。我想跟踪所有页面和模板。

编辑:目前,我正在进行URL匹配,以检查我是否处于制作级别,然后包含来自Google的跟踪代码。不知道这是否是最佳做法。

// main.js 
var production_url = /^my.production.url$/ 
if (production_url.test(window.location.host)) { 
    (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', 'TRACKING_CODE', 'production.url'); 
    ga('send', 'pageview'); 
} 

上面的代码在main.js文件,而不是在任何模板实例直接放。

+1

这可能是相关的:http://stackoverflow.com/questions/11183424/how-a-meteor-application-knows-if-running-on-development-test-or-productio –

+0

我加这个答案最近可能会有所帮助:http://stackoverflow.com/a/20553714/2359560 –

回答

5

即使这个问题是旧的,可​​能是值得一提的是,我们创建了一个分析包,okgrow:analytics的流星,我们在其中设置了集成在settings.json文件中的平台的trackingID。

通过对不同的环境使用不同的trackingID,您将能够为生产指定正确的trackingID。只需将开发/测试的settings.json文件中的trackingID保留为空,它仍然可以工作(将在调试中显示跟踪事件)。

希望有帮助!

+0

它是否适用于使用离子(ui-router)的移动应用程序? –

+0

我可以删除settings.json依赖项吗? –