InAppMessagesNavigatorObserver class
A NavigatorObserver that automatically notifies PPGInAppMessages about route changes.
Add this observer to your MaterialApp or Navigator to automatically track navigation and display eligible in-app messages.
Example with MaterialApp:
MaterialApp(
navigatorObservers: [
InAppMessagesNavigatorObserver(),
],
// ... rest of your app
)
Example with Navigator:
Navigator(
observers: [
InAppMessagesNavigatorObserver(),
],
// ... rest of your navigator
)
By default, the observer uses the route's settings name as the route identifier. You can customize this by providing a routeNameExtractor.
Example with custom route name extraction:
InAppMessagesNavigatorObserver(
routeNameExtractor: (route) {
// Custom logic to extract route name
if (route?.settings.name?.contains('product') == true) {
return 'product_detail';
}
return route?.settings.name;
},
)
- Inheritance
-
- Object
- NavigatorObserver
- InAppMessagesNavigatorObserver
Constructors
- Creates an observer that notifies PPGInAppMessages about route changes.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
The navigator that the observer is observing, if any.
no setterinherited
- routeNameExtractor → String? Function(Route? route)?
-
Optional function to extract route name from a Route.
If not provided, uses route.settings.name.
final
- 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.override -
didPush(
Route route, Route? previousRoute) → void -
The Navigator pushed
route.override -
didRemove(
Route route, Route? previousRoute) → void -
The Navigator removed
route.override -
didReplace(
{Route? newRoute, Route? oldRoute}) → void -
The Navigator replaced
oldRoutewithnewRoute.override -
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