AnalyticsOptions class

Analytics options layered over the existing CxorbiConfig surface.

Constructors

AnalyticsOptions({Uri? baseUrl, Uri? dashboardUrl, bool enableInteractionsAutocapture = true, bool sessionReplayAutoStart = true, bool captureNetworkErrors = true, bool captureNativeNetworkErrors = true, bool captureFrameVitals = true, bool captureNativeDiagnostics = true, bool captureImageAssets = false, bool captureRenderBoundaryAssets = false, bool captureCustomPaintAssets = false, bool captureT2NativeReadback = false, bool captureSurveysInReplay = false, CxorbiMaskingConfig maskingConfig = const CxorbiMaskingConfig(), List<String> urlMaskingPatterns = const <String>[], bool offlineQueueEnabled = true, int offlineQueueMaxEntries = 200, int offlineQueueMaxBytes = 30 * 1024 * 1024, int maxReplayAssetBytes = 512 * 1024, bool debug = false, LogLevel? logLevel, CxorbiEnvironment environment = CxorbiEnvironment.production, bool? debugMode, int captureCadenceMs = 300, int navCaptureDebounceMs = 300, int backgroundSessionTimeoutMs = kDefaultBackgroundSessionTimeoutMs, bool useServerSessionPolicy = true, int sessionHeartbeatIntervalMs = kDefaultSessionHeartbeatIntervalMs, bool replayTailDrainEnabled = true, int replayTailDrainIntervalMs = kDefaultReplayTailDrainIntervalMs, bool backgroundReplayFlushEnabled = false, int backgroundReplayFlushTimeoutMs = kDefaultBackgroundReplayFlushTimeoutMs, bool gzipRequests = false, int gzipMinBytes = 1024, bool transportV2 = true, bool rollbackDurableSpool = false, bool backpressureEnabled = false, CxorbiQualityConfig qualityConfig = const CxorbiQualityConfig()})
const

Properties

backgroundReplayFlushEnabled bool
Best-effort graceful-background replay-tail drain. Default false.
final
backgroundReplayFlushTimeoutMs int
final
backgroundSessionTimeoutMs int
Foreground resume after this much background time starts a new replay session. Default 30 minutes; set 0 to disable background rotation.
final
backpressureEnabled bool
Enable adaptive capture throttling under upload pressure. Default false.
final
baseUrl Uri?
final
captureCadenceMs int
final
captureCustomPaintAssets bool
Auto-screenshot non-structural content (custom-painted widgets like charts, candlesticks, maps) into a pixel imageRef instead of a gray placeholder. Default off (opt-in). Respects maskCustomPaints — only unmasked content is captured. GPU/Texture/PlatformView content cannot be rasterized and stays a placeholder.
final
captureFrameVitals bool
final
captureImageAssets bool
final
captureNativeDiagnostics bool
final
captureNativeNetworkErrors bool
final
captureNetworkErrors bool
final
captureRenderBoundaryAssets bool
final
captureSurveysInReplay bool
When true, the SDK's own "Ask" survey overlay is captured INTO session replay instead of being omitted. Default false keeps the privacy-safe exclusion (survey free-text never enters replay). The dashboard project policy can also opt future sessions in; third-party surveys should stay masked/excluded.
final
captureT2NativeReadback bool
Experimental native readback hook for platform-rendered surfaces that the Flutter tree cannot capture. The hook must fail closed and apply masking before returning pixels. This build ships no native implementation, so enabling it is currently a no-op.
final
dashboardUrl Uri?
final
debug bool
final
debugMode bool?
final
enableInteractionsAutocapture bool
final
environment CxorbiEnvironment
final
gzipMinBytes int
final
gzipRequests bool
final
hashCode int
The hash code for this object.
no setterinherited
logLevel LogLevel?
final
maskingConfig CxorbiMaskingConfig
final
maxReplayAssetBytes int
final
Debounce window (ms) for screen-change captures. Default 300: the per-screen capture is deferred + coalesced until navigation has been quiet for this long, so the heavy walk → serialize → send runs AFTER the transition settles instead of dropping transition frames. Set 0 for the immediate-on-navigation behavior.
final
offlineQueueEnabled bool
final
offlineQueueMaxBytes int
final
offlineQueueMaxEntries int
final
qualityConfig CxorbiQualityConfig
final
replayTailDrainEnabled bool
Periodic foreground drain for persisted replay tails. This is independent of sessionHeartbeatIntervalMs so idle-but-foreground sessions still retry stranded replay frames after network recovery.
final
replayTailDrainIntervalMs int
final
rollbackDurableSpool bool
Compatibility switch for the older on-device queue implementation. Default false keeps the current durable queue.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sessionHeartbeatIntervalMs int
Foreground activity-marker cadence. Default 15 seconds; set 0 to disable.
final
sessionReplayAutoStart bool
final
transportV2 bool
When true, mobile event chunks use the current durable transport. Default true; server policy can still select the compatibility transport.
final
urlMaskingPatterns List<String>
final
useServerSessionPolicy bool
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited