UmengAnalyticsObserver class

A NavigatorObserver that sends events to Umeng Analytics when the currently active PageRoute changes.

When a route is pushed or popped, nameExtractor is used to extract a name from RouteSettings of the now active route and that name is sent to Umeng.

The following operations will result in sending a screen view event:

Navigator.pushNamed(context, '/contact/123');

Navigator.push<void>(context, MaterialPageRoute(
  settings: RouteSettings(name: '/contact/123'),
  builder: (_) => ContactDetail(123)));

Navigator.pushReplacement<void>(context, MaterialPageRoute(
  settings: RouteSettings(name: '/contact/123'),
  builder: (_) => ContactDetail(123)));

Navigator.pop(context);

To use it, add it to the navigatorObservers of your Navigator, e.g. if you're using a MaterialApp:

MaterialApp(
  home: MyAppHome(),
  navigatorObservers: [
    UmengAnalyticsObserver(),
  ],
);

You can also track screen views within your PageRoute by implementing PageRouteAware and subscribing it to UmengAnalyticsObserver. See the PageRouteObserver docs for an example.

Inheritance

Constructors

UmengAnalyticsObserver({bool log = false, ScreenNameExtractor nameExtractor = defaultNameExtractor})

Properties

hashCode int
The hash code for this object.
no setterinherited
log bool
final
nameExtractor ScreenNameExtractor
final
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

debugObservingRoute(PageRoute route) bool
Whether this observer is managing changes for the specified route.
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.
inherited
didReplace({Route? newRoute, Route? oldRoute}) → void
The Navigator replaced oldRoute with newRoute.
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
subscribe(RouteAware routeAware, PageRoute 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