[cordova] 如何在没有插件的情况下将Google Analytics与Phonegap配合使用?


Answers

观看视频,了解相关信息:

http://screencast.com/t/6vkWlZOp

经过一番研究,我找到了解决方案。 我在Phonegap Google Group上发现了这个帖子: https://groups.google.com/forum/#!msg/phonegap/uqYjTmd4w_E/YD1QPmLSxf4J ://groups.google.com/forum/#!msg / phonegap / uqYjTmd4w_E / YD1QPmLSxf4J(感谢TimW和Dan Levine!)在这个帖子中,我发现有可能在没有插件的情况下使用Google Analytics。 您所要做的就是从Google http://www.google-analytics.com/ga.js下载ga.js文件(只需将页面保存到您的www文件夹中)

然后通过向其添加一个字符来修改ga.js文件。 在ga.js文件中搜索单词“file:”并将其替换为“_file:”。

在我上面链接的主题中,“TimW”解释了这个原因:

从本质上讲,如果从文件:/// url中使用Google Analytics,Google Analytics将无法运行。 在iOS / PhoneGap中就是这种情况。 要解决此问题,您必须先从谷歌下载ga.js文件,并将其作为本地版本的一部分包含在内。 你会注意到这个文件是混淆的。 在文件中搜索字符串“file:”,该字符串只能出现一次。 当你找到它时,在开头添加一个下划线(所以它变成“_file:”)。 这可以防止它匹配页面位置的协议(即“file:”)。

将一个字符添加到ga.js文件后,只需在页面顶部包含以下内容即可:

<script type="text/javascript" src="ga.js"></script>
    <script>
 var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-YOUR_ID_HERE']);
    _gaq.push(['_setDomainName', 'none']);
    _gaq.push(['_trackPageview', 'NAME_OF_PAGE']);
    </script>

我在模拟器上对此进行了测试,并且我得到了一个证据,证明它正在使用Google Analytics中的实时视图。 模拟器正在iOS 5.0上运行。 我的手机仍然在iOS 4.2上,当我在我的设备上测试时,它没有显示在实时跟踪上。

在线程中,有人提到Android 4.0 +的相同问题...希望将来会有更好的解决方案,但是现在这是为我的应用程序获取基本分析的最简单,最简单的方法。 它无法进行离线跟踪,但无论如何都有点令人毛骨悚然。

即使iOS 4和Android用户在市场上占少数(参见饼图):

http://static7.businessinsider.com/image/4fd65fac6bb3f7925700000f/chart-of-the-day-ios-vs-android-june-2012.jpg

我很想从所有操作系统获取数据。

Question

我正在创建一个应用程序,我希望从用户那里获得分析。 我试图使用Phonegap插件,但我没有运气试图实现它。

我想知道是否有可能通过将应用程序视为普通网页并将一些javascript放在我的页面的头部来获取Google Analytics。

有一个更好的方法吗? Phonegap谷歌分析比我想做的要好得多吗?




您可以使用GALocalstorage库,它可以在移动设备上正常工作

它很容易设置

<script type="text/javascript" src="js/libs/GALocalStorage.js"></script>
<script>
    ga_storage._setAccount('UA-37167XXX-1'); //Replace with your own
    ga_storage._trackPageview('/index.html');

</script>

就是这样,没有修改或其他任何东西。

您需要在Google analytics创建Website Account才能使用此库

https://github.com/ggendre/GALocalStorage




对于任何遇到Guillaume Gendre在Android 4.1或其他特定平台上的出色解决方案问题的人来说,这可能会解决它们。

如果您的Android控制台日志显示“Unknown Chromium error:0”,则可能需要优化config.xml中的访问权限。 我解决了我的问题并here描述。




我使用Ionic应用程序(基于cordova)作为移动网站,GA正在努力。 当我将相同的应用程序发送到本机ios时,它停止工作。

问题1。
在检查模拟器的日志时,发现GA没有正确加载。 它正在尝试加载file:// 。 为了解决这个问题,我将https:添加到GA网址下面

(window,document,'script','//www.google-analytics.com/analytics.js','ga')

问题2.如果页面协议不是http或https,Google默认会中止请求。 解决这个问题

ga('set', 'checkProtocolTask', null);

而你应该被设定。 完成这些更改后,我能够确认GA上的事件。 希望它也能帮到你。




我在HTML5 / meteor应用程序中实现了segment.io - analytics.js库。

我在phonegap(3.1)中没有分析插件。 立即为iOS工作。

实施后,Android应用程序的分析显示大约4小时。 然后它开始工作而不更改phonegap或流星设置。

希望这有助于有人避免几个小时寻找神秘的bug。

注意:确保设置了正确的访问源,例如添加




Related