我正在尝试监控 iPhone 应用程序上的 Google Analytics 请求,但由于某种原因,我没有看到任何 GA 请求。不过,我可以在谷歌分析界面上看到并唯一识别流量。
我尝试过使用多种技术,包括使用 Fiddler/Charles 作为代理并重叠计算机 IP。虽然我可以看到许多使用此技术的 http 请求,但我没有看到任何与 Google Analytics 相关的请求。
可以采取什么措施来捕获这些请求?
笔记:
据我所知,目前还没有iOS应用程序可以在实际设备上捕获HTTP请求。
问题在于 Google Analytics SDK 发出的跟踪调用未使用 iOS HTTP 代理。
如果 GA 跟踪调用不使用 iOS 代理,它们显然不会被发送到 Charles(或 Fiddler 或其他),并且它无法跟踪任何内容。监视这些调用的唯一方法是执行类似的操作共享您的以太网互联网连接在您的计算机上无线连接到您的 iOS 设备,并使用类似的工具ngrep or WireShark监控通过无线接口(通常是 Mac 上的 en1)的流量。下面是 ngrep 命令的示例:
sudo ngrep -d en1 port 80 | grep --color -E -C 3 '(google|utm.gif)'
(您可以通过以下方式轻松安装 ngrephomebrew在 Mac 上)
或者使用 Wireshark,您可以开始监控您的无线接口(Mac 上的 en1)并在“过滤器:”框中输入“http”以过滤 http 流量。
如果您有该应用程序的源代码,那么避免“互联网连接共享”的另一个选择是通过 Mac 上 Xcode 中的 iOS 模拟器运行该应用程序,以便它使用 Mac 的互联网连接。 GA 代码实际上仍然拒绝使用 OSX 配置的代理(即,您仍然无法使用 Charles),但您可以在 Mac 上使用 ngrep 或 Wireshark(如上所述),而无需设置互联网连接共享。
这是我博客上的一篇文章,其中包含更多详细信息:监控 iOS 版 Google Analytics
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)