SessionReplayCapture class
Wrap the app, or the subtree that should appear in session replay, with this widget.
The capture mechanism is platform specific and resolved at compile time: on native (iOS/Android) it provides Flutter-rendered screenshots to the native session replay SDK. Session replay is not supported on web, where the capture part is a pass-through.
Click capture also lives here, on every platform. Flutter renders its whole UI into one native view, so the tapped widget can only be identified in Dart, which needs a pointer observer and an element to anchor the search on — both of which this widget already provides. Bundling them means click tracking costs no second wrapper, the packaging Datadog also settled on.
Wrap as high as possible, ideally around MaterialApp. Dialogs, bottom
sheets, and other routes are children of the app's Navigator, so a wrap
further down excludes taps on anything the app pushes above it.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- SessionReplayCapture
Constructors
- SessionReplayCapture({Key? key, required Widget child})
-
Creates a capture root for
child.const
Properties
- child → Widget
-
The app subtree to capture, typically the
MaterialApp.final - hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited