- 访问 OpenTelemetry API
- 网络监控
- 崩溃报告
- 应用生命周期仪表化
- 缓慢渲染检测
- WebView 仪表化
- 发送自定义错误和记录异常的 API
- 自定义日志记录
- 会话录制
.package(url: "https://github.com/middleware-labs/middleware-ios", from: "1.0.1"),
import SwiftUI
import MiddlewareRum
@main
struct YourApp: App {
init() {
MiddlewareRumBuilder()
.globalAttributes(["customerId" : "123456"])
.target("<target>")
.serviceName("Mobile-SDK-iOS")
.projectName("Mobile-SDK-iOS")
.rumAccessToken("<account-key>")
.deploymentEnvironment("PROD")
.build()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
可以用于设置仪表化和配置您的应用程序的方法。
选项 | 描述 |
.rumAccessToken(String)
|
设置 RUM 账户访问令牌以授权客户端向 Middleware 发送遥测数据 |
.target(String)
|
设置您想要发送遥测数据的目标 URL。例如 - 统一可观测性平台 | Middleware |
.serviceName(String)
|
设置您的应用程序的服务名称。这可以用于按服务名称进行过滤。 |
.projectName(String)
|
设置您的应用程序的项目名称。 |
.deploymentEnvironment(String)
|
设置由仪表化生成的 spans 上的环境属性。例如 - PROD | DEV |
.disableCrashReportingInstrumentation()
|
禁用崩溃报告。默认情况下是启用的。 |
.disableNetworkMonitoring()
|
禁用 HTTP 仪表化。默认情况下是启用的。 |
.disableSlowRenderingDetection()
|
禁用缓慢或冻结帧的渲染。默认情况下是启用的。 |
.slowFrameDetectionThresholdMs(Double)
|
设置缓慢渲染检测的默认轮询。默认值以毫秒为单位是 16.7 |
.frozenFrameDetectionThresholdMs(Double)
|
设置缓慢渲染检测的默认轮询。默认值以毫秒为单位是 700 |
MiddlewareRum.info("Some information")
MiddlewareRum.debug("Some information")
MiddlewareRum.trace("Some information")
MiddlewareRum.warning("Some information")
MiddlewareRum.error("Some information")
MiddlewareRum.critical("Some information")
MiddlewareRum.addError("Unable to process I am error")
MiddlewareRum.addException(e: NSException(name: NSExceptionName(rawValue: "RuntimeException"), reason: "I am custom exception"))
MiddlewareRum.setScreenName("WebView")
MiddlewareRum.setGlobalAttributes(["some": "value"])
MiddlewareRum.integrateWebViewWithBrowserRum(view: webView)
默认情况下启用会话录制,要禁用请调用 .disableRecording()
MiddlewareRumBuilder()
.globalAttributes(["customerId" : "123456"])
.target("<target>")
.serviceName("Mobile-SDK-iOS")
.projectName("Mobile-SDK-iOS")
.rumAccessToken("<account-key>")
.deploymentEnvironment("PROD")
.disableRecording()
.build()
//SwiftUI
Text("Very important sensitive text").sensitive()
// UIKit
MiddlewareRum.addIgnoredView(view)