2016-04-26 102 views
1

我正試圖在一種桌面應用程序中引入Google Analytics,所有加載文件都是通過file:// not http或localhost完成的(因爲大多數時候它工作正常離線)。任何使用Google Analytics或Google跟蹤代碼管理器跟蹤應用使用的嘗試都不起作用。使用文件的網站上的Google Analytics(分析)://

例如,我使用:

ga('create', 'UA-XXXXX-Y', 'auto'); 
ga('set', 'checkProtocolTask', null); 
ga('set', 'checkStorageTask', null); 
ga('send', 'pageview'); 

如所解釋的here(添加GA( '設置', 'checkStorageTask',NULL); )沒有結果。

有沒有人處理這種情況?

+0

您還需要設置顯式頁面,並且可能需要使用localStorage進行用戶身份跟蹤。我試圖在一個不同的問題的答案中詳細說明所有方面:https://stackoverflow.com/a/47251006/1090166 –

回答

3

我運行了一個非常快速的測試。 ga('set', 'checkStorageTask', null);沒有爲我做任何事情,而是我發現有必要在創建跟蹤器時將存儲設置爲空(這很有意義,因爲您無法使用文件協議設置cookie)。這也意味着你可能不會有會話跟蹤,因爲每個命中都會生成一個新的ID。

ga('set', 'checkProtocolTask', null)似乎有必要 - 否則調試器抱怨(自然)該文件不是一個有效的協議。

之後,數據已成功發送,但沒有顯示在實時視圖中。我懷疑報告引擎可能不喜歡文件協議,並使用正確的協議設置「位置」字段。所以我結束了:

ga('create', 'UA-XXXXXX-5' , {'storage':'none'}); 
    ga('set', 'checkProtocolTask', null); 

    ga('send', 'pageview' , {'location' : document.location.href.replace('file','http') }); 

和在實時報告中顯示。這是一個真正的快速測試,所以你需要獨立驗證。請注意,您無需設置cookie域(您的代碼示例中的「auto」參數),因爲無論如何您都無法設置cookie(沒有設置cookie的域)。

此外,如果您在大多數時間脫機工作,GA將無法工作(您需要加載analytics.js文件,並且需要將呼叫發送到跟蹤服務器),但您可能已經意識到了這一點。

相關問題