没有进行谷歌分析的调用

时间:2013-11-12 12:21:48

标签: cordova google-analytics durandal-2.0

您好我一直在尝试将谷歌分析与我的混合移动应用程序集成,该应用程序是通过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']);

我认为这是正确的方法,因为这将是一个混合应用程序,将在许多不同的平板电脑上运行。任何人都可以验证这个吗?

1 个答案:

答案 0 :(得分:0)

你的问题将是app.pathname和location.search在app中实际产生的问题。在从Web服务器提供的页面上,这很明显,但是来自PhoneGap应用程序???

在模拟器中试试这个并将值打印到屏幕上 - 也许你会找到答案。

另外,您为什么使用传统的Google Analytics?使用Google Universal Analytics似乎更适合您的需求,因为它更适合移动应用开发。