Phonegap谷歌分析根本不跟踪
Phonegap google analytics not tracking at all
这是我的主要.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/
但是我看不到实时谷歌分析页面中的日志
顺便说一下,我的配置中.xml
<access origin=".*"/>
设备中不起作用的原因是谷歌分析希望协议是 HTTP 或 HTTPS,但是当您加载应用程序时,协议是 file:///的,因为您正在从 WebView 中的设备打开文件。
在这种情况下,GA 不允许存储和关闭 cookie。还有一个新版本的ga.js称为analytics.js(也称为Universal Analytics),它基本上是一个高级版本。您可以在此处找到版本之间的差异 - http://www.cardinalpath.com/which-version-of-google-analytics-is-right-for-you-determine-whether-you-should-upgrade-to-universal-analytics/
如果你想继续使用 ga.js那么你可以使用这个 -
https://github.com/ggendre/GALocalStorage
这是一个解决 file:///问题的GitHub项目。
如果您想使用通用分析,那么您可以使用这个 -
http://www.blastam.com/blog/index.php/2013/07/ga-universal-analytics-phonegap-mobile-apps/
这是使其与Phonegap兼容的指南
使用 Phonegap,您可以打开 With file URI,通常这会将 origin 属性设置为 null,即使它取决于浏览器。需要指定该属性才能使大多数 Web 服务器接受请求,考虑到它源自 AJAX 请求的事实,如本例所示。这也可能是 cookie 的问题,这可能是问题所在。
在这种情况下,此 url 将起作用:https://github.com/ggendre/GALocalStorage。要使其正常工作,您必须为Phonegap启用本地存储。
如果是请求有问题,您可以添加一个没有内容的 1 平方像素 png 文件,这将使您有机会在数据到达您的服务器时收集数据。这里唯一的问题是这将不允许您使用谷歌分析。
为了克服这个因素,您可以设置一个网络服务并将Google Analytics中的所有Web请求更改为指向您的服务器,您可以将这些请求代理回Google服务器以解决此问题。
在服务器中,需要设置此属性才能从 Phonegap 获取访问权限:
Access-Control-Allow-Origin: *
你可以使用类似 Node.JS 和 NPM 包管理器提供的 node-http-proxy 的东西,考虑到它都是 javascript,这应该很容易。之后,您只需要将所有对Google分析域的引用转换为指向Google Analytics文件本地副本中的Web服务器即可。
您所要做的就是更改Google AnalyticsJavaScript文件中URL的域部分,以指向您的服务器,并将该域放入Node.JS代理中,这可能并不像大多数人想象的那么难。
如果您想更清楚地了解情况,请随时给我发消息。感恩节期间我可能会很忙,但我会尽可能多地检查。
您可以使用 cordova 插件来让生活变得轻松。
http://www.raymondcamden.com/index.cfm/2013/3/28/Google-Analytics-and-PhoneGap
- 谷歌分析:如何跟踪移动网站的点击量作为对主网站的点击
- 什么'这是谷歌分析跟踪代码使用的技术
- 谷歌分析事件跟踪
- 谷歌分析跟踪内部链接不正常工作的事件
- 如何在基于表单提交的谷歌分析中跟踪转换
- 如何在shopify中使用谷歌分析来跟踪未绑定的链接
- 如何使用谷歌分析在页面重定向之前跟踪事件
- 浏览器扩展程序来跟踪我的谷歌活动
- 从页面上的谷歌分析跟踪代码获取帐户ID
- 如何在谷歌分析中跟踪谷歌可视化图表事件
- 跟踪谷歌分析目标中的表单输入
- Wordpress登录跟踪谷歌分析
- Youtube iFrame嵌入式视频跟踪-谷歌标签管理器
- 在iframe中跟踪谷歌分析事件
- 使用标签在一个1页的网站上跟踪谷歌分析
- 如何跟踪谷歌地图事件
- 通过自定义数据与目标跟踪谷歌分析
- 如何在嵌入式表单上跟踪谷歌分析自定义事件
- 跟踪谷歌AdWords转换与外部目标的形式
- 有没有更好的方法来跟踪谷歌分析的重定向页面