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 开发工具中的应用程序,看看是否有任何呼叫向谷歌发出,但没有显示。

有谁知道我做错了什么?

编辑

从文档中我意识到我必须将我的域设置为 none 才能调用谷歌分析:

_gaq.push(['_setDomainName', 'none']);

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

4

1 回答 1

0

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

在模拟器中试试这个并将值打印到屏幕上——也许你会通过这种方式找到答案。

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

于 2013-11-12T17:12:13.037 回答