To see an example of how to deploy the Mobile RUM iOS SDK, navigate to our GitHub repository here.
Prerequisites
iOS version 13
, macOS version 10_15
, and tvOS version 13
or above. Check your iOS SDK version with the following command:
Shell
Install & Instrument Your iOS Application
Step 1: Install Swift Package
Add the following line inPackage.swift
in dependencies
Package.swift
Step 2: Initialize Middleware iOS SDK
swift
Custom Configurations
Logs
Create Custom logs using the Middleware APIswift
Errors to Traces
Create Custom logs using the Middleware APIswift
Exceptions
Create Custom exceptions using the Middleware APIswift
Set Your Screen Name
swift
Set Global Attributes
swift
WebView Instrumentation
Use WebView to run native iOS appsswift
Session Recording
The maximum session recording duration is four hours. If users are inactive for more than 15 minutes at a time, session recordings will be stopped. If users exceed more than four hours in a single session or become active again after the 15-minute inactivity timeout, a new session will be automatically created. Session recording is enabled by default. Disable this feature by passing.disableRecording()
in the following function:
Swift
Privacy
Blur sensitive information in session recordings by embedding the following method: User passwords are automatically masked by default. Other sensitive information like credit card data and API keys must be masked manually.
Swift
Instrumentation Attributes
The following methods can be used for instrumenting & configuring your application.Method | Description |
.rumAccessToken(String) | Sets RUM account access token to authorize client to send telemetry to Middleware |
.target(String) | Sets target URL to the location you will send telemetry data to(e.g. Middleware) |
.serviceName(String) | Sets service name for your application |
.deploymentEnvironment(String) | Sets environment attribute on spans generated by instrumentation(e.g. PROD & DEV ) |
.disableCrashReportingInstrumentation() | Disable crash reporting (which is enabled by default) |
.disableNetworkMonitoring() | Disable HTTP Instrumentation (which is enabled by default) |
.disableSlowRenderingDetection() | Disable slow/frozen frame renders (which is enabled by default) |
.slowFrameDetectionThresholdMs(Double) | Sets default polling for slow render detection. Default value is 16.7 milliseconds |
.frozenFrameDetectionThresholdMs(Double) | Sets default polling for frozen render detection. Default value is 700 milliseconds |
Need assistance or want to learn more about Middleware? Contact us at support[at]middleware.io.