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 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
imageRefinstead of a gray placeholder. Default off (opt-in). RespectsmaskCustomPaints— 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