Javascript Phonegap谷歌分析根本不跟踪
这是我的main.js文件Javascript Phonegap谷歌分析根本不跟踪,javascript,cordova,google-analytics,Javascript,Cordova,Google Analytics,这是我的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-analyti
/* 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);
}
}
因此,每当我想跟踪我使用的任何页面时:
\u轨道('/最高等级/')代码>
我可以看到这个日志:
google分析:/top-rated/
但我在实时谷歌分析页面上看不到日志
顺便说一下,我的config.xml中有
<access origin=".*"/>
您可以使用cordova插件来简化生活
GA在设备中不起作用的原因是google analytics希望协议是HTTP或HTTPS,但当您加载应用程序时,协议是file:///因为您正在WebView中从设备打开文件
在这种情况下,GA不允许存储cookie并关闭。还有一个新版本的ga.js叫做analytics.js(也称为Universal analytics),它基本上是一个高级版本。您可以在此处找到版本之间的差异-
如果您想继续使用ga.js,则可以使用此-
这是一个GitHub项目,它解决了文件:///问题
如果您想使用通用分析,那么您可以使用此-
它是使其与Phonegap兼容的指南使用Phonegap,您可以使用文件URI打开,并且通常会将origin属性设置为null,即使它取决于浏览器。大多数web服务器都需要指定该属性才能接受请求,因为它源于AJAX请求,如本例所示。这也可能是cookies的问题,这可能就是问题所在
在这种情况下,此url将起作用:。要使其工作,必须为Phonegap启用本地存储
如果请求有问题,您可以添加一个没有内容的1平方像素png文件,这样您就有机会在数据到达服务器时收集数据。这里唯一的问题是,这将不允许您使用谷歌分析
为了克服这个因素,您可以设置一个web服务,并将Google Analytics中的所有web请求更改为指向您的服务器,并且您可以将这些请求代理回Google服务器以克服这个问题
在服务器中,需要设置此属性才能从Phonegap获得访问权限:
Access-Control-Allow-Origin: *
您可以使用Node.JS和NPM包管理器提供的Node http代理,考虑到它们都是javascript,这应该很容易。之后,您只需将所有对Google分析域的引用转换为指向本地Google分析文件副本中的web服务器
您所要做的就是更改Google Analytics javascript文件中URL的域部分,以指向您的服务器,并将该域放入Node.JS代理中,这可能不像大多数人想象的那么难
如果你想更清楚,请随时给我留言。感恩节期间我可能会很忙,但我会尽可能多地检查。Hi@Purus,也谢谢你在这里写信。所以我想说的是非英语?没有插件就没有解决方法?据我所知,这也应该有效。但是如果有可能让你的生活变得轻松,我们为什么不试试呢。。此外,您无法看到实时跟踪信息,因为开始跟踪将延迟24小时。这24小时延迟中的24小时又如何?我不明白我的意思是分析不是实时的。。详细信息将在24小时后反映在您的google analytics帐户中。错误,这里有实时流量部分,非常感谢。伙计们,请关注blastam的博客帖子。它会起作用的。别忘了你还得做第四步!