analytics_manager 1.0.2 copy "analytics_manager: ^1.0.2" to clipboard
analytics_manager: ^1.0.2 copied to clipboard

Helper for multiple analytics services handler

Why this package? #

It happens a lot that a project has multiple analytics handlers, like Firebase, Amplitude, OneSignal, etc.
This package aims to provide a simple way to handle multiple Analaytics handlers.

Getting started #

Create as AnalyticsHandler as needed: #

class DummyAnalyticsHandler extends AnalyticsHandler {  

@override
  Future<void> deleteAccount() {
    ...
  }

  @override
  Future<void> handleEvent(AnalyticsEvent event) {
    ...
  }

  @override
  Future<void> initialize() {
    ...
  }

  @override
  Future<void> logOutUser() {
    ...
  }

  @override
  Future<void> setUserEmail(String userEmail) {
    ...
  }

  @override
  Future<void> setUserId(String userId) {
    ...
  }

  @override
  Future<void> setUserProperty(String name, value) {
    ...
  }
}

Initialize AnalyticsHandler: #

await AnalyticsManager.initialize(handlers: [DummyAnalyticsHandler()]);

Create custom events: #

class AddToCartEvent extends AnalyticsEvent {  
  final String productName;  
  
  AddToCartEvent(this.productName)  
      : super(  
          name: 'add_to_cart',  
          parameters: {  
            'product_name': productName,  
          },  
        );  
}

Send events & user properties when needed in your widgets: #

AnalyticsManager.instance.logEvent(AddToCartEvent('My awesome product'));
AnalyticsManager.instance.setUserProperty('first_name', 'Bob');
2
likes
140
points
75
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Helper for multiple analytics services handler

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on analytics_manager