event_tracker_handler 0.1.2 copy "event_tracker_handler: ^0.1.2" to clipboard
event_tracker_handler: ^0.1.2 copied to clipboard

Multi-provider event tracking with Firebase Analytics, Mixpanel, and webhooks.

event_tracker_handler #

Multi-provider event tracking with Firebase Analytics, Mixpanel, and custom webhooks.

Features #

  • Track predefined events with a single handler.
  • Firebase Analytics, Mixpanel, and custom webhook backends.
  • Typed user and event data (items, value, currency, custom fields).
  • Built-in event timing helpers.

Getting started #

Add event_tracker_handler to your pubspec.yaml and complete the setup for any providers you plan to use (Firebase/Mixpanel).

Usage #

Create settings for each tracker and build a handler instance:

import 'package:decimal/decimal.dart';
import 'package:event_tracker_handler/event_tracker_handler.dart';

final handler = EventTrackerHandler.instance([
  EventTrackerSettingsFirebase(
    eventsToTrack: [EventTrackerEvents.openApp, EventTrackerEvents.purchase],
  ),
  EventTrackerSettingsMixpanel(
    token: 'YOUR_MIXPANEL_TOKEN',
    eventsToTrack: [EventTrackerEvents.openApp, EventTrackerEvents.purchase],
  ),
  EventTrackerSettingsCustomWebhook(
    url: 'https://example.com/events',
    eventsToTrack: [EventTrackerEvents.openApp],
  ),
]);

Future<void> trackPurchase() async {
  await handler.init();

  handler.logEvent(
    type: EventTrackerEvents.purchase,
    userData: EventTrackerUserData(
      uuid: 'user-123',
      email: 'user@example.com',
      isAnonymous: false,
    ),
    data: EventTrackerData(
      value: Decimal.parse('29.90'),
      currency: 'USD',
      customData: {'plan': 'pro'},
    ),
  );
}

You can also build tracker settings from a map:

final settings = EventTrackerSettingsModel.fromMap({
  'type': 'EventTrackerType.mixpanel',
  'token': 'YOUR_MIXPANEL_TOKEN',
  'events': ['EventTrackerEvents.openApp', 'EventTrackerEvents.purchase'],
});

Additional information #

Custom webhook events include app and device metadata plus the user payload.

0
likes
130
points
276
downloads

Publisher

unverified uploader

Weekly Downloads

Multi-provider event tracking with Firebase Analytics, Mixpanel, and webhooks.

Repository (GitHub)

Documentation

API reference

License

GPL-3.0 (license)

Dependencies

decimal, device_info_plus, firebase_analytics, flutter, http, mixpanel_flutter, package_info_plus

More

Packages that depend on event_tracker_handler