WebView Support

Track and capture user interactions, network logs, and screen loading within WebViews.

Overview

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

This feature is available from 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 Repro Steps

Setup

Gradle Configuration

To enable WebView tracking, add the following to your build.gradle (Groovy) or build.gradle.kts (Kotlin DSL):

circle-exclamation

Master WebView Tracking API

The Master API controls all WebView data collection at runtime, including:

  • User interactions

  • Network logs

  • Screen loading in APM

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

Relationship Between Gradle Config and Master API

WebView tracking has two layers of control:

Layer
Purpose
When Applied

Gradle Config (webViewsTrackingEnabled)

Enables/disables including the WebView tracking module

Build time

Master API (setWebViewMonitoringEnabled())

Controls whether WebView tracking runs

Runtime

Both must be enabled for WebView tracking to work:

  • Gradle config = adds the feature to your build

  • Master API = turns it on or off while the app runs

circle-info

The Master API alone doesn't enable tracking—it only allows these features to work. You still need to explicitly enable each feature (user interactions, network logs) using their respective APIs.

User Interactions & Network Logs

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

Screenshot Masking in WebViews

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

To unmask WebViews:

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

API Summary

API
Purpose
Default

webViewsTrackingEnabled (Gradle)

Include WebView tracking module at build time

false

setWebViewMonitoringEnabled()

Master switch for all WebView tracking at runtime

true

setTrackingWebViewUserInteractionsEnabled()

Capture user interactions in WebViews

false

setWebViewNetworkLogsEnabled()

Capture network logs from WebViews

false

circle-exclamation

Migration from Older Versions

If you are upgrading from a version before v19.2.0, update your Gradle configuration:

Old (Removed)

New (from v19.2.0)

Requirements

  • Luciq SDK version v19.2.0 or later

  • Only Android's native WebView class is supported

Last updated