CSQNavigatorObserver class abstract
A NavigatorObserver that can be attached to an app to automatically track the screens based on the route navigation
Basic usage:
MaterialApp(
navigatorObservers: [
CSQNavigatorObserver(),
],
(...)
);
Advanced usage with custom configuration:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [
CSQNavigatorObserver(
screenNameProvider: _provideScreenName,
customVarsProvider: _provideCustomVars,
excludeRouteFromTracking: _shouldExcludeRoute,
),
],
(...)
);
}
String? _provideScreenName(Route<dynamic> route) {
if (route.settings.name == '/profile') {
return 'User Profile';
}
return route.settings.name;
}
List<CustomVar> _provideCustomVars(Route<dynamic> route) {
return [
CustomVar(1, 'screen_type', 'detail'),
CustomVar(2, 'user_id', '12345'),
];
}
bool _shouldExcludeRoute(Route<dynamic> route) {
return route.settings.name?.startsWith('/internal') ?? false;
}
}
- Inheritance
-
- Object
- NavigatorObserver
- CSQNavigatorObserver
Constructors
-
Create a new instance of CSQNavigatorObserver
factory
Properties
- 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
Methods
-
didChangeTop(
Route topRoute, Route? previousTopRoute) → void -
The top most route has changed.
inherited
-
didPop(
Route route, Route? previousRoute) → void -
The Navigator popped
route.inherited -
didPush(
Route route, Route? previousRoute) → void -
The Navigator pushed
route.inherited -
didRemove(
Route route, Route? previousRoute) → void -
The Navigator removed
route.inherited -
didReplace(
{Route? newRoute, Route? oldRoute}) → void -
The Navigator replaced
oldRoutewithnewRoute.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
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited