Skip to main content
iOS RUM SDK 会自动生成包含相关指标和属性的事件。每个 RUM 事件都包含默认属性(如 view.urldevice.typegeo.country)以及事件特定的指标和属性(如 view.time_spentresource.method)。

应用启动指标

在应用启动期间,iOS SDK 会自动记录应用启动时间并创建相应的视图。
启动时间测量从进程启动到第一个 applicationDidBecomeActive 通知之间的时间间隔。

视图监测

在 iOS 应用中,视图会在用户访问不同屏幕时自动创建。当用户打开屏幕时,视图开始记录;当视图不再可见时停止。
视图生命周期管理:
  • 视图停止时不会立即结束,而是保持在 inactive 状态一段时间
  • 如果在此期间启动了新视图,之前的视图将完全结束
  • 如果没有新视图启动,之前的视图将恢复为 active 状态
后台行为:
  • 当应用进入后台时,SDK 会保留最后一个活动视图并监控后台事件
  • 后台时间不会计入活动视图的 time_spent 指标
  • 如果用户立即返回应用,SDK 会恢复原始的 time_spent 测量

默认属性

iOS RUM SDK 为所有事件自动附加默认属性,帮助您了解用户设备、网络状态和应用上下文。
以下设备相关属性会自动附加到所有事件上:
以下操作系统相关属性会自动附加到所有事件上:
以下网络相关属性会自动附加到资源和错误事件上:
以下属性与 IP 地址的地理位置相关:
地理位置信息由 Flashduty 后端根据客户端 IP 地址推断,不会在客户端收集精确的 GPS 位置。
您可以在所有 RUM 事件上启用用户追踪,以关联用户会话并简化问题排查。
用户属性是可选的,但建议至少提供一个。详见 追踪用户信息
当前仅支持以上用户标准字段,其他用户属性不支持。如有需求,可以在 context 字段进行配置。

事件特定属性

不同的事件类型具有特定的属性和指标。
错误事件收集异常和崩溃信息,错误消息和堆栈跟踪会被自动包含:网络错误:网络错误包含有关失败 HTTP 请求的信息,额外收集以下属性:
当应用发生崩溃时,会收集以下额外属性:

数据存储与安全

本地存储机制

在上传到 Flashduty 之前,数据以明文形式存储在应用沙盒的缓存目录(Library/Caches)中。
安全保护:
  • 缓存目录受 iOS 应用沙盒保护
  • 设备上安装的其他应用无法读取此目录

数据管理策略

为确保 SDK 不会占用过多磁盘空间,SDK 会自动管理本地数据:
即使用户在离线时使用应用,数据也会被保留并在网络恢复后上传,不会丢失任何监控数据。

相关文档

SDK 接入

了解如何集成 iOS SDK

高级配置

配置自定义属性、采样和事件过滤

兼容性

了解 SDK 兼容性要求