2013-06-27 49 views
6

让我首先说我知道如何使用iOS SDK,因此请不要用“仅使用SDK”来回答此问题。我想知道为什么谷歌分析不起作用。Google Analytics(分析)无法在iOS中的Webview中使用

这是我的设置。我有一个网络应用程序,也通过webview将其应用于Android应用程序和ios应用程序。我正在使用科尔多瓦。该Android应用程序适用于GA JS代码。网络工作得很好。但是,iOS中没有显示任何事件或网页浏览量。我听说GA与域名绑定,所以iOS Webview在域名下做了些什么?

我会附上我的代码片段,但我在几班的CoffeeScript所以我就贴编译JS

Analytics.prototype.track = function(args) { 
     window._gaq.push(args); 
    }; 
    Analytics.track(['_trackEvent', 'SubscriptionModal', "Closed", data]); 

该作品在网络和Android精品,所以它不是一个JS。我将GA_setDomainName设置为'focusatwill.com',并且可以看到ios和web都有一个域名为'www.focusatwill.com'

我在线阅读了几个人在讨论这个问题,每个人说只使用SDK。我正在寻找它不起作用的原因。你如何解决它使用JS?

编辑

我应该提到的是,HTML和JS不烤成的装置,即他们没有本地URL,但是从我们的网络服务器

+0

对于您的Google Analytics应用,您是否已将该项目设置为移动应用?我以类似的方式参与了这个项目,最终我在GA帐户下建立了两个项目; 1用于移动网站(用于webview点击),另一个用于实际应用程序在应用程序本身内记录事件(非webview) – kevinl

+0

这是一个网络跟踪器。 Android与网络轨道一起工作,但似乎iOS iOS uiwebviews没有,我好奇为什么?是否由于无法在本地保存GA图像文件?或者其他一些cookie问题?只是好奇,如果有人真的知道为什么 –

+2

'track'是一个原型方法,但你正在调用对象方法.. –

回答

0

Safari浏览器上iOS6的+块担任了第三方Cookie默认情况下,我确信webviews也是如此。

检查您是否具有类似于AppDelegate.m的init方法下面的内容:

NSHTTPCookieStorage* cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

这从科尔多瓦3.0.9生成的标准样板的,但如果你可能不存在使用的版本早于iOS6。它设置应用程序特定的cookie策略,该策略应覆盖系统默认值。

相关问题