flex_track 2.0.0 copy "flex_track: ^2.0.0" to clipboard
flex_track: ^2.0.0 copied to clipboard

A flexible analytics tracking system for Flutter with intelligent routing, GDPR compliance, and multi-platform support

2.0.0 #

Breaking changes #

BaseEvent.getName() and BaseEvent.getProperties() have been removed. Event implementations must now override the name and properties getters.

Before:

class PurchaseEvent extends BaseEvent {
  @override
  String getName() => 'purchase';

  @override
  Map<String, Object>? getProperties() => {'amount': 29.99};
}

After:

class PurchaseEvent extends BaseEvent {
  @override
  String get name => 'purchase';

  @override
  Map<String, Object>? get properties => {'amount': 29.99};
}

Added #

  • Add an EventTransformer pipeline for enriching and normalizing events before routing and dispatch.
  • Add EnrichedEvent for layering additional properties onto an event while preserving its routing, consent, and privacy metadata.
  • Add support for custom event categories and subcategories.
  • Add the interactive FlexTrack guide at flextrack.taghizadeh.dev.

Changed #

  • Replace BaseEvent.getName() and BaseEvent.getProperties() with the BaseEvent.name and BaseEvent.properties getter API.
  • Update examples, tests, and documentation to use the getter API.

Fixed #

  • Align transformer signatures around BaseEvent so transformed events flow consistently through clients, widgets, routing, and trackers.

1.0.1 #

  • Improve package presentation and pub.dev listing metadata.
  • Add screenshot entries in pubspec.yaml for logo and banner assets.
  • README improvements and image path fixes for inspector demo rendering.

1.0.0 #

This release promotes the package to 1.0.0 and focuses on injectable analytics, widget ergonomics, local debugging, and documentation.

New features #

  • FlexTrackScopeInheritedWidget that provides a FlexTrackClient to descendant widgets. FlexClickTrack, FlexImpressionTrack, FlexMountTrack, and FlexTrackRouteViewMixin resolve the client in order: scoped client → FlexTrack.track (if set up) → no-op.
  • Shared widget dispatchdispatchFlexTrackWidgetTrack centralizes scoped/global dispatch and FlutterError reporting (FlexTrackWidgetSurface for stable error labels).
  • FlexTrackClient — create and own a client with FlexTrackClient.create / createWithRouting; optional eventDispatchStream / debugStateStream in debug for tooling.
  • FlexTrack Inspector (IO platforms) — optional package:flex_track/flex_track_inspector.dart starts a local dashboard (default port 7788); console logs FlexTrack Inspector (open in browser): http://127.0.0.1:7788. No-op on Flutter Web.

Widgets & examples #

  • Examplesexamples/static_app (FlexTrackScope with FlexTrack.instance.client), examples/riverpod_app (scoped client without global setup), examples/bloc_getit_app, flagship example/ with inspector wiring in debug.
  • Tests — expanded coverage for clients, trackers, routing presets, inspector helpers, and scope vs global behavior for all tracking widgets.

Documentation #

  • README: FlexTrackClient, FlexTrackScope, inspector section, table of contents.
  • docs/flex-track-client.md — injectable client, Riverpod/Bloc, widget scope behavior.
  • docs/assets/inspector.gif — demo of the inspector with the flagship app.

0.1.1 #

  • Documentation updates based on community feedback.

0.1.0 #

  • Initial release on pub.dev.
  • Intelligent event routing, GDPR-oriented helpers, built-in trackers (Console, NoOp, Mock), performance presets, and debugging APIs.
7
likes
0
points
233
downloads

Documentation

Documentation

Publisher

verified publishertaghizadeh.dev

Weekly Downloads

A flexible analytics tracking system for Flutter with intelligent routing, GDPR compliance, and multi-platform support

Homepage
Repository (GitHub)
View/report issues

Topics

#analytics #tracking #gdpr #routing #flutter

License

unknown (license)

Dependencies

collection, flutter, shelf, shelf_router, shelf_web_socket, visibility_detector, web_socket_channel

More

Packages that depend on flex_track