簡體   English   中英

Phonegap谷歌分析根本沒有跟蹤

[英]Phonegap google analytics not tracking at all

這是我的main.js文件

/* Google Analytics */
(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + 
      '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
var _gaq = _gaq || [];

function _track(page){
    try {
        _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); /* But with my correct one */
        console.log('google analytics:' + page);
        if (page != '') {
            _gaq.push(['_trackPageview', 'Mobile: '+page]);
        } else {
            _gaq.push(['_trackPageview'],'Mobile');
        }
    } catch(err) {
        console.log(err);
    }
}

所以每當我想跟蹤我使用的任何頁面時:

_track('/top-rated/');

我可以看到這個日志:

google analytics: /top-rated/

但我無法在實時谷歌分析頁面中看到日志

順便說一句,我在config.xml中

<access origin=".*"/>

GA在設備中不起作用的原因是因為谷歌分析期望協議是HTTP或HTTPS,但是當您加載應用程序時,協議是file:///,因為您在WebView中從設備打開文件。

在這種情況下,GA不允許存儲和關閉cookie。 另外還有一個名為analytics.js的新版ga.js(也稱為Universal Analytics),它基本上是一個高級版本。 您可以在這里找到版本之間的差異 - http://www.cardinalpath.com/which-version-of-google-analytics-is-right-for-you-determine-whether-you-should-upgrade-to-萬向分析/

如果您想繼續使用ga.js,那么您可以使用此 -
https://github.com/ggendre/GALocalStorage
這是一個解決file:///問題的GitHub項目。

如果您想使用Universal Analytics,那么您可以使用此功能 -
http://www.blastam.com/blog/index.php/2013/07/ga-universal-analytics-phonegap-mobile-apps/
它是使其與Phonegap兼容的指南

使用Phonegap,您打開文件URI,通常將origin屬性設置為null,即使它取決於瀏覽器。 考慮到它源自AJAX請求的事實,需要為大多數Web服務器指定該屬性以接受請求,如本例所示。 它也可能是cookie的問題,這可能是問題所在。

在這種情況下,此URL將起作用: https//github.com/ggendre/GALocalStorage 要使其工作,您必須為Phonegap啟用localstorage。

如果這是請求的問題,您可以添加一個沒有內容的1平方像素的png文件,這將使您有機會在到達服務器時收集數據。 這里唯一的問題是,這不允許您使用Google Analytics。

要解決此問題,您可以設置網絡服務並將Google Analytics中的所有網絡請求更改為指向您的服務器,然后您可以將這些請求代理回Google服務器以解決此問題。

在您的服務器中,您需要將此屬性設置為從Phonegap獲取訪問權限:

 Access-Control-Allow-Origin: *

您可以使用Node.JS和NPM包管理器提供的node-http-proxy之類的東西,這應該很簡單,因為它都是javascript。 之后,您只需將所有對Google Analytics Domain的引用轉換為指向您本地Google Analytics文件副本中的Web服務器。

您所要做的就是將Google Analytics javascript文件中網址的域部分更改為指向您的服務器,然后將其放入Node.JS代理中,這可能不像大多數人想象的那么難。

如果您想要更清晰,請隨時給我留言。 我可能在感恩節期間很忙,但我會嘗試盡可能多地檢查。

你可以使用cordova插件,讓生活更輕松..

http://www.raymondcamden.com/index.cfm/2013/3/28/Google-Analytics-and-PhoneGap

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM