Google Analytics无法在iOS应用程序的Webview中工作

Google Analytics not working in Webview in iOS app

本文关键字:Webview 工作 应用程序 iOS Analytics Google      更新时间:2023-09-26

首先让我说我知道如何使用iOS SDK,所以请不要用"只使用SDK"来回答这个问题。我想知道为什么谷歌分析不起作用。

这是我的设置。我有一个网络应用程序,它也通过webview被烘焙成安卓应用程序和ios应用程序。我在用科多瓦。android应用程序与GAJS代码配合使用非常好。网络运行良好。但是,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,而是从我们的Web服务器

提供的

iOS6+上的Safari默认情况下会阻止第三方cookie,我确信网络视图也会这样做。

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

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

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