embrace_go_router 4.7.0 copy "embrace_go_router: ^4.7.0" to clipboard
embrace_go_router: ^4.7.0 copied to clipboard

Provides go_router navigation tracking for the Embrace SDK.

embrace_go_router #

A package to enable the embrace plugin to automatically track navigation for apps using go_router.

Usage #

Simple apps (no StatefulShellRoute) #

Add EmbraceGoRouterObserver to the observers list of your GoRouter instance.

import 'package:go_router/go_router.dart';
import 'package:embrace_go_router/embrace_go_router.dart';

final router = GoRouter(
  observers: [EmbraceGoRouterObserver()],
  routes: [...],
);

Apps using StatefulShellRoute #

Pass the GoRouter instance directly. This hooks into go_router's routeInformationProvider, capturing every route change including those in sub-navigators that a NavigatorObserver would miss.

import 'package:go_router/go_router.dart';
import 'package:embrace_go_router/embrace_go_router.dart';

final _router = GoRouter(routes: [...]);
late final _observer = EmbraceGoRouterObserver(router: _router);

@override
void dispose() {
  _observer.dispose();
  super.dispose();
}

Do not also add the observer to GoRouter.observers when using this mode.

1
likes
0
points
232
downloads

Publisher

verified publisherembrace.io

Weekly Downloads

Provides go_router navigation tracking for the Embrace SDK.

Homepage

License

unknown (license)

Dependencies

embrace, flutter, go_router

More

Packages that depend on embrace_go_router