监控 iPhone 应用程序上的 Google Analytics 请求

2023-11-27

我正在尝试监控 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(使用前将#替换为@)

监控 iPhone 应用程序上的 Google Analytics 请求 的相关文章

  • 加载新控制器时,iPhone 横向模式切换到纵向模式

    我的应用程序在横向模式下正确启动并且运行良好 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation if interf
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • 将 UIToolBar 添加到所有键盘(swift)

    我正在尝试以尽可能少的重复次数将自定义 UIToolBar 添加到我的所有键盘中 我目前的做法要求我将代码添加到所有 viewDidLoads 中 并将每个文本字段的委托分配给我正在使用的 viewController 我尝试创建自己的 U
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • 有没有类似于 iOS 的 canOpenURL 来检查移动浏览器的 URL 方案? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone Safari 检查 JavaScript 是否支持 URL 方案 https stackoverflow com questions 627916 iphone safari check
  • 使用 Http Post 发送图像

    我想使用 Http Post 将图像从 android 客户端发送到 Django 服务器 该图像是从图库中选择的 目前 我正在使用列表值名称 Pairs 将必要的数据发送到服务器并接收来自 Django 的 JSON 响应 是否可以对图像
  • 如何使用 alamofire 通过基本身份验证上传图像?

    我正在尝试使用 alamofire 4 7 1 和此代码上传图像 但说实话 我怀疑我没有编写正确的代码来上传图像 func uploadDefect defectRemark String defectLocation String def
  • UIViewController 不旋转到横向

    在许多情况下需要旋转控制器但不起作用 现在我遇到了相反的问题 它正在旋转 我想禁用它 在那个 ViewController 中我有这个 BOOL shouldAutorotateToInterfaceOrientation UIInterf
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • 在 iOS 上使用 RNCryptor 异步解密大文件

    我需要在 iOS 上使用 RNCryptor 异步解密一个大文件 以便显示进度条 我在任何地方都找不到示例 因此尝试了我猜对的方法 但是 我想出的方法不起作用 解密器的处理程序从未被调用 并且线程在发送所有数据后因 EXC BAD ADDR
  • 使用 UITabBarController 时覆盖整个屏幕的视图?

    我想在 UITabBarController 设置中在整个屏幕上覆盖 HUD 样式的透明图形 执行此操作的按钮位于第一个选项卡的屏幕 FirstViewController 中 并且覆盖层也应该覆盖选项卡 这可能吗 您可以将新视图直接附加到
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 在 Objective-C 中的 Swift 类上调用 NSStringFromClass 返回模块损坏的名称

    我知道这个问题 https stackoverflow com questions 24107658 get a user readable version of the class name in swift in objc nsstri
  • 使用 Anypoint Studio (MULE) 在本地主机上找不到资源

    我尝试按照 MuleSoft 网站上建议的教程进行操作 我首先从这个例子开始
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • iphone sqlite 静态链接?

    有人静态链接 sqlite 而不是使用动态链接 吗 我遇到的问题是 越狱手机的用户没有与普通 iPhone 所采用的 sqlite 版本相同的版本 因此导致崩溃 我假设在我的应用程序中静态链接已知版本的 sqlite 就是答案 我需要全文支
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 使用强光混合模式时突出显示伪影

    我正在 iPhone 应用程序中使用顶部图像的 HardLight 混合模式混合两个图像 它看起来像这样 UIGraphicsBeginImageContext size sourceImage drawInRect rectangle b

随机推荐

  • 为什么 git tag 一个 blob 或一棵树(或一个标签)?

    我明白how可以使用 git 标签来标记 blob 树 甚至另一个带注释的标签 我了解使这成为可能的架构和概念设计 然而 我很难想象这个应用程序的现实生活 或 真实工作流程 应用程序 在 Stack Overflow 上搜索时 我只找到了一
  • 使用 Android 的内置声学回声消除

    有谁知道如何使用 Android 设备的内置回声消除功能 它位于芯片中的某个位置 用于 GSM CDMA 免提电话呼叫 我们真的很想利用它来开发 VoIP 应用程序 而不是推出我们自己的应用程序 Ben 我终于能够在我的 Arm5 WM86
  • 使用意图编辑日历事件不起作用

    好的 我在这里非常精确地阅读了文档 http developer android com guide topics providers calendar provider html update event它写的是这样的 Here is a
  • winrt中如何检测滚动查看器是否到达底部

    我想知道检测 ScrollViewer 是否到达底部 右侧等的最佳方法是什么 我想我可以通过使用 PointerWheelChanged 鼠标和 ManipulationDelta 触摸来实现这一点 在这些事件处理程序中 我可以记录 Hor
  • 将变量从文本文件加载到 bash 脚本中

    是否可以将文本文件中的新行加载到 bash 中的变量中 文本文件是什么样子的 EXAMPLEfoo EXAMPLEbar EXAMPLE1 EXAMPLE2 EXAMPLE3 EXAMPLE4 变量变成 1 EXAMPLEfoo 2 EXA
  • 为什么 PyQt 在没有信息的情况下崩溃? (退出代码 0xC0000409)

    我正在尝试使用 PyQt 开发一个软件 但我经常陷入没有调试信息的软件崩溃 只有退出代码 0xC0000409 我正在使用 QThread 并且编写了一个这样的系统 class serialThreadC QThread updateOut
  • 如何使用 PHP 下载 FTP 上的最新文件?

    FTP服务器上有一些文件 该服务器上的任何时间都在上传新文件 我想下载最后一个文件 如何从该服务器获取上次上传的文件 所有文件都有不同的名称 我使用以下脚本下载一个文件 conn ftp connect ftp testftp com or
  • 使用 HuggingFace 微调 T5 进行汇总时出现关键错误

    我正在尝试微调 T5 变压器进行汇总 但收到一条关键错误消息 KeyError Indexing with integers to access backend Encoding for a given batch index is not
  • 如何在 C 程序中不使用删除系统调用来删除文件?

    我一直很好奇如何rem在 Linux 中工作并尝试编写我自己的C可以删除文件的代码 但是当我搜索答案时 我只得到了正在使用的程序remove 系统调用 有没有其他方法可以在不使用系统调用的情况下完成此任务 例如编写自己的代码来完成这项工作
  • XML 阅读器类中令人讨厌的新行和空格

    我正在使用博主编写的类 http troybrant net blog 它接受一个 XML 字符串并输出一个 NSDictionary 它很漂亮 工作完美 除了我最终在许多元素值的开头出现了奇怪的换行符和空格配置 我一直不明白为什么 我将课
  • 如何在index.jsp上加载servlet

    有没有办法调用servletindex jsp 我的欢迎文件是index jsp 我需要通过 servlet 填充下拉列表值index jsp被打开 我尝试设置
  • PhoneGap/Cordova Android 开发

    更新1 这就是我最终所做的一切 sudo aptitude install y python software properties python g make sudo add apt repository y ppa chris lea
  • 如何在 React JS 应用程序中为 Azure Active Directory B2C 设置重定向 URL 到 b2clogin.com

    我正在开发 React js 应用程序 并将使用 azure adb2c 来确保安全 参考 要在用户流中启用 javascript 似乎我必须将重定向网址更改为b2clogin com 我已经提到过这个https learn microso
  • Spark 将 csv 列中的空值视为空数据类型

    我的 Spark 应用程序读取 csv 文件 使用 sql 将其转换为不同的格式 并将结果数据帧写入不同的 csv 文件 例如 我输入csv如下 Id FirstName LastName LocationId 1 John Doe 123
  • 如何在特定时间使用 FFMPEG 将音频添加到现有视频?

    我有包含 10 分钟视频的视频文件 avi 我还有包含 1 分钟声音的音频文件 wav 我需要将音频添加到现有视频中 但音频需要在视频一分钟后开始 怎么做 如果可能的话 更喜欢使用 ffmpeg 已经尝试这个查询 延迟 30 秒 i vid
  • Angularjs 触发国家依赖

    有人可以帮我制作国家 州下拉依赖项的示例吗 我特意以这种方式创建 JSON 因为我希望依赖项是通用的 这样我就可以将它应用到任何下拉列表中 同时仅使用元数据而不是 HTML Here s a link查看 JSFiddle 中的代码示例 H
  • 如何按一列对 pandas 数据框进行排序

    我有一个像这样的数据框 0 1 2 0 354 7 April 4 0 1 55 4 August 8 0 2 176 5 December 12 0 3 95 5 February 2 0 4 85 6 January 1 0 5 152
  • 无法将新文件添加到 Egit 中的存储库

    我将 Egit 与 Eclipse Juno 一起使用 我与本地存储库合作 一切都很好 甚至添加 GitHub 存储库似乎也没有问题 我将其添加到 Remotes 下的本地存储库中 因此我可以轻松地将提交推送到 github 但过了一段时间
  • Web.Config 调试/发布

    我知道 Visual Studio 2010 中的 web config 提供了从数据库从调试模式切换到发布模式的功能 这是我的 Web Release config
  • 监控 iPhone 应用程序上的 Google Analytics 请求

    我正在尝试监控 iPhone 应用程序上的 Google Analytics 请求 但由于某种原因 我没有看到任何 GA 请求 不过 我可以在谷歌分析界面上看到并唯一识别流量 我尝试过使用多种技术 包括使用 Fiddler Charles