2013-12-12 145 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依賴項嗎? –