我们有一个应用程序,大部分只是一个UIWebView
包装一个体面大小的angularjs应用程序,从应用程序的Documents文件夹加载。实际上,所有Web内容都是从Documents文件夹加载的,我们对一些相关的REST服务进行了一些外部调用。这些工作正常,webapp可以在UIWebView
内运行时与外界保持通信。
但是,如果我们在<head>
中包含通用Google Analytics脚本,则似乎从来没有任何来自服务器端的确认。我们可以在普通浏览器(如Chrome)中运行我们的应用,并查看通话记录,但是一旦网络应用在UIWebView
...沉默中运行。
<head>
<!-- stuff... -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','http://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxx-x', 'none');
ga('send', 'pageview');
</script>
</head>
<body ui-view>
<!-- and so on... -->
ga('send','pageview')
没有产生错误或输出,GA似乎没有听到我们的应用。还有其他调用通过角度应用程序分散的事件,但它们也不会产生任何显着的结果或错误。只是沉默。
编辑1
我还应该注意,我尝试禁用可能会中止请求的所有任务,例如
ga('set', 'previewTask', null);
ga(‘set’, ‘checkProtocolTask’, null);
ga(‘set’, ‘validationTask’, null);
ga(‘set’, ‘checkStorageTask’, null);
编辑2
已经有一段时间了,所以我会问是否有人以这种方式成功使用Google Analytics?