HomeDocumentationAPI Reference
Getting StartedAPI ReferenceDashboardHelp Center
Documentation

WebView Support for iOS

Overview

WebViews are components that embed web content within native mobile applications. The Luciq SDK can automatically detect and monitor WebViews in your iOS app.

This feature is available from version SDK v19.2.0.

When enabled, WebView support allows you to:

  • Report WebView screen loading times in APM [already existing]
  • Capture user interactions inside WebViews (tap, scroll, navigation) [NEW]
  • Log network requests (Fetch/XHR) triggered by WebViews [NEW]

This helps you get full visibility into hybrid app experiences where native and WebView content are combined.

WebView Data Enrichment

Enabling WebView detection enhances multiple Luciq products:

WebViews in APM

WebView loading times are reported alongside native screen loading metrics. This helps you measure and optimize performance across both native and web-based content.

WebViews in Bug Reporting, Crash Reporting, and Session Replay

  • User interactions inside WebViews are captured (navigation, swipe, tap, scroll)
  • Network logs from requests made inside WebViews (Fetch/XHR) are automatically captured
  • Both appear in the logs section; user interactions also appear in ReproSteps

Setup

Enabling WebViews Tracking

To report WebViews screen loading in APM, ensure webViewsTrackingEnabled is set to true. See WebViews Screen Loading for iOS for APM configuration details.

Master WebView Tracking API

The Master API controls all WebView data collection, including:

  • User interactions
  • Network logs
  • Screen loading in APM

By default, the Master API is enabled. To disable all WebView tracking:

Swift

Luciq.webViewMonitoringEnabled = false

Objective-C

Luciq.webViewMonitoringEnabled = NO;

User Interactions & Network Logs

By default, user interactions and network logs inside WebViews are disabled. Enable them at runtime:

Swift

// User interactions
Luciq.webViewUserInteractionsTrackingEnabled = true

// Network logs
Luciq.webViewNetworkTrackingEnabled = true

Objective-C

// User interactions
Luciq.webViewUserInteractionsTrackingEnabled = YES;

// Network logs
Luciq.webViewNetworkTrackingEnabled = YES;

Screenshot Masking in WebViews

By default, all WebViews are masked in screenshots to protect potentially sensitive content.

To unmask WebViews:

Swift

Luciq.setAutoMaskScreenshotsTypes(.maskNothing)

Objective-C

[Luciq setAutoMaskScreenshotsTypes:IBGAutoMaskScreenshotOptionMaskNothing];

If you already use setAutoMaskScreenshotsTypes(), WebViews will not be masked by default. To mask them explicitly, include the WebViews option:

Swift

Luciq.setAutoMaskScreenshotsTypes([.webViews, .labels])

Objective-C

[Luciq setAutoMaskScreenshotsTypes:IBGAutoMaskScreenshotOptionWebViews | IBGAutoMaskScreenshotOptionLabels];

API Summary

APIPurposeDefault
webViewMonitoringEnabledMaster switch for all WebView trackingtrue
webViewUserInteractionsTrackingEnabledCapture user interactions in WebViewsfalse
webViewNetworkTrackingEnabledCapture network logs from WebViewsfalse

Note: If webViewMonitoringEnabled is disabled, all other WebView APIs will have no effect.

Requirements

  • Luciq SDK version v19.2.0 or later
  • Only WKWebView is supported

Related Reading


What’s Next

Learn how to customize the welcome message to your users or maybe even report your first bug.