我試圖讓我的PhoneGap/Cordova應用程序的谷歌分析工作。如何配置我的Google Analytics帳戶接受來自file:// url的請求?
默認情況下,analytics.js庫不會發送來自file://類型網址的請求。我從this site發現,和它指向,那我可以得到分析LIB使用本地存儲,而不是餅乾,用於通過如此配置GA跟蹤客戶端ID的StackOverflow question:
(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','http://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-1', 'auto', {
'allowLinker': true,
'storage': 'none','clientId':localStorage.getItem('gaClientId')
});
ga(function(t){localStorage.setItem('gaClientId',t.get('clientId'));});
然後我可以在圖書館通過增加發送非HTTP/HTTPS URL的請求如下:
ga('set', 'checkProtocolTask', null);
現在我可以看到,從我的瀏覽器控制檯,該庫發送頁面瀏覽量出谷歌分析。 com類似於以下內容:
http://www.google-analytics.com/collect?v=1&_v=j31&a=6458293880&t=pageview&_s=1&dl=file%3A%2F%2F%2Fpath%2Fto%2Findex.html&ul=en-us&de=ISO-8859-1&sd=24-bit&sr=1440x900&vp=1283x150&je=1&fl=16.0%20r0&_u=cGAAAAQB~&cid=389492833.14589283847&tid=UA-XXXXX-1&z=1277371227
但是,在google-analytics.com方面,Google在收到該請求後會忽略該請求,並且沒有任何內容顯示在我的帳戶下。如果我手動將上述URL中的「dl = file ...」部分更改爲「dl = http ...」,Google會接受它,並立即在我的帳戶的「實時」標籤下看到該請求。
所以,看來我有事情正確設置瀏覽器端,但是......
- 如何配置我的谷歌,Analytics帳戶接受瀏覽器發送請求?
- 另外,有沒有辦法配置事物的瀏覽器端,以便它發送「dl = http:// ...」而不是「dl = file:// ...」,儘管它是來自file:// URL?
(我想我可能更喜歡的答案,#2,#個1,如果我不得不選擇一個答案。)
我知道有一個cordova plugin for google analytics,但我沒有太多運氣讓這個人能夠工作,而且,即使我能夠使用它,我也需要我的應用程序能夠立即登錄到多個Google Analytics(分析)帳戶,而我認爲這個插件無法做到。
爲什麼不使用分析插件呢?不知道該插件是否支持多個跟蹤器,但可以完成 – jcesarmobile 2014-12-19 08:10:05
我無法幫助Cordova,但您多久之前創建了一個帳戶,嘗試發送給它的帳戶需要24-48小時才能開始顯示數據。您可以手動發送內容:https://developers.google.com/analytics/devguides/collection/protocol/v1/ – DaImTo 2014-12-19 09:51:26
@jcesarmobile - 我並不完全反對這個插件,但除了之前列出的原因外不使用它,還有這樣一個事實,即它發送的數據不會顯示在「實時」標籤中(根據開發人員的說法),而且插件中的數據通常很慢顯示一旦你得到它的工作)。另一方面,非插件技術距離工作還有幾英寸距離,目前只有一次罷工。它還具有與我的移動網站(它共享代碼)一樣的工作方式的額外好處。這只是現在較低的水果。 – Troy 2014-12-19 16:42:33