您好我一直在尝试将谷歌分析与我的混合移动应用程序集成,该应用程序是通过durandal和phonegap开发的。这是我迄今为止所做的:
我已经复制了谷歌分析生成的代码,并将其添加到我的父html文件中。代码看起来像这样,我检查了源代码以确保它已加载:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_trackPageview']);
(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);
})();
</script>
然后我链接到这样的durandal路线完成事件:
vm.router.on('router:navigation:complete').then(function (instance) {
window._gaq.push(['_trackPageview', location.pathname + location.search + location.hash]);
});
每次页面更改时都会执行这段代码。
然后我开始浏览应用程序,半小时后仍然没有数据显示在分析页面上。
我已经检查了chrome dev工具中的应用程序,看看是否有任何调用已经对谷歌进行了调查而且没有显示。
有谁知道我做错了什么?
修改
从文档中我意识到我必须将我的域设置为无,以便让calles进行谷歌分析:
_gaq.push(['_setDomainName', 'none']);
我认为这是正确的方法,因为这将是一个混合应用程序,将在许多不同的平板电脑上运行。任何人都可以验证这个吗?
答案 0 :(得分:0)
你的问题将是app.pathname和location.search在app中实际产生的问题。在从Web服务器提供的页面上,这很明显,但是来自PhoneGap应用程序???
在模拟器中试试这个并将值打印到屏幕上 - 也许你会找到答案。
另外,您为什么使用传统的Google Analytics?使用Google Universal Analytics似乎更适合您的需求,因为它更适合移动应用开发。