DatadogNavigationObserver class

This class can be added to a MaterialApp to automatically start and stop RUM views, provided you are using named routes with methods like Navigator.pushNamed, or supplying route names through RouteSettings when using Navigator.push.

Alternately, the DatadogNavigationObserver can also be used in conjunction with DatadogNavigationObserverProvider and DatadogRouteAwareMixin to automatically start and stop RUM views on widgets that use the mixin.

If you want more control over the names and attributes that are sent to RUM, you can supply a ViewInfoExtractor function to viewInfoExtractor. This function is called with the current Route, and can be used to supply a different name, path, or extra attributes to any route.

Inheritance
Mixed in types

Constructors

DatadogNavigationObserver({required DatadogSdk datadogSdk, ViewInfoExtractor viewInfoExtractor = defaultViewInfoExtractor})

Properties

datadogSdk DatadogSdk
final
hashCode int
The hash code for this object.
no setterinherited
The navigator that the observer is observing, if any.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
viewInfoExtractor ViewInfoExtractor
A callback to supply view information to the observer. See ViewInfoExtractor.
final

Methods

debugObservingRoute(ModalRoute route) bool
Whether this observer is managing changes for the specified route.
inherited
didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features.
inherited
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground.
override
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings.
inherited
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated.
inherited
didChangePlatformBrightness() → void
Called when the platform brightness changes.
inherited
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes.
inherited
didHaveMemoryPressure() → void
Called when the system is running low on memory.
inherited
didPop(Route route, Route? previousRoute) → void
The Navigator popped route.
override
didPopRoute() Future<bool>
Called when the system tells the app to pop the current route, such as after a system back button press or back gesture.
inherited
didPush(Route route, Route? previousRoute) → void
The Navigator pushed route.
override
didPushRoute(String route) Future<bool>
Called when the host tells the application to push a new route onto the navigator.
inherited
didPushRouteInformation(RouteInformation routeInformation) Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.
inherited
didRemove(Route route, Route? previousRoute) → void
The Navigator removed route.
inherited
didReplace({Route? newRoute, Route? oldRoute}) → void
The Navigator replaced oldRoute with newRoute.
override
didRequestAppExit() Future<AppExitResponse>
Called when a request is received from the system to exit the application.
inherited
didStartUserGesture(Route route, Route? previousRoute) → void
The Navigator's routes are being moved by a user gesture.
inherited
didStopUserGesture() → void
User gesture is no longer controlling the Navigator.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
subscribe(RouteAware routeAware, ModalRoute route) → void
Subscribe routeAware to be informed about changes to route.
inherited
toString() String
A string representation of this object.
inherited
unsubscribe(RouteAware routeAware) → void
Unsubscribe routeAware.
inherited

Operators

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