Google Analytics不适用于iOS应用中的Webview

时间:2013-06-27 20:56:06

标签: javascript ios google-analytics

首先我要说的是我知道如何使用iOS SDK,所以请不要用“只使用SDK”来回答这个问题。我想知道为什么google analytics无效。

这是我的设置。我有一个网络应用程序,也通过webview烘焙到Android应用程序和ios应用程序。我正在使用cordova。 Android应用程序适用于GA JS代码。网络工作得很好。但是,iOS上没有显示任何事件或页面视图。我听说过GA与域名绑定了,所以iOS Webview会对域名做些什么吗?

我打算附上我的代码片段,但它是几个类中的coffeescript所以我只是粘贴已编译的js

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

这在web和android中运行良好,所以它不是JS。我将GA _setDomainName设置为'focusatwill.com',可以看到ios和web都有'www.focusatwill.com'域名

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

修改

我应该提一下,html和JS没有被添加到设备中,即它们没有本地URL但是从我们的网络服务器提供

1 个答案:

答案 0 :(得分:0)

默认情况下iOS6 +上的Safari会屏蔽第三方Cookie,我确信网页浏览也会这样做。

检查在AppDelegate.m的init方法中是否有类似于以下内容的内容:

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

这是来自Cordova 3.0.9生成的标准样板文件,但如果您使用的版本早于iOS6,则可能不存在。它设置特定于应用程序的cookie策略,该策略应覆盖系统默认值。