groveman_analytics_firebase 0.1.0
groveman_analytics_firebase: ^0.1.0 copied to clipboard
Groveman analytics tree that sends events to Firebase Analytics.
Groveman Analytics Firebase #
AnalyticsTree for groveman_analytics that sends events to Firebase Analytics.
Usage #
First, configure Firebase Analytics, see the documentation.
Add it in your pubspec.yaml:
dependencies:
firebase_analytics:
firebase_core:
groveman_analytics:
groveman_analytics_firebase:
Import it where you want to use it e.g, in your main file.
import 'package:groveman_analytics/groveman_analytics.dart';
import 'package:groveman_analytics_firebase/groveman_analytics_firebase.dart';
Initialize and plant the tree on start of your application.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
GrovemanAnalytics.plantTree(FirebaseAnalyticsTree(FirebaseAnalytics.instance));
runApp(const MyApp());
}
Define your events and start tracking:
class PurchaseCompletedEvent extends AnalyticsEvent {
PurchaseCompletedEvent(this.value);
final double value;
@override
String get eventName => 'purchase_completed';
@override
Map<String, dynamic>? get properties => {'value': value};
}
await GrovemanAnalytics.track(PurchaseCompletedEvent(99.9));
Note: Firebase Analytics event names must be ≤ 40 characters and property names ≤ 40 characters. Property values are automatically converted to
StringforsetUserProperty.
API mapping #
AnalyticsTree |
Firebase Analytics |
|---|---|
track(event) |
logEvent(name, parameters) |
identify(userId, properties) |
setUserId(id) + setUserProperty(name, value) per property |
setSuperProperties(properties) |
setDefaultEventParameters(parameters) |
clearSuperProperties() |
setDefaultEventParameters(null) |
enable() |
setAnalyticsCollectionEnabled(true) |
disable() |
setAnalyticsCollectionEnabled(false) |
reset() |
resetAnalyticsData() |
Super properties #
Sets default parameters automatically included in every event logged to Firebase Analytics.
Note:
setSuperProperties(),clearSuperProperties(), andreset()are not supported on web by Firebase Analytics and are no-ops on that platform.
await GrovemanAnalytics.setSuperProperties({
'app_version': '1.0.0',
'environment': 'production',
});
// Clears all default event parameters
await GrovemanAnalytics.clearSuperProperties();
User identification #
await GrovemanAnalytics.identify(
'user_123',
properties: {'plan': 'pro'},
);
User properties are set via setUserProperty. All values are converted to String.
Enable and disable data collection #
// User declined consent — disables analytics collection
await GrovemanAnalytics.disable();
// User accepted consent — re-enables analytics collection
await GrovemanAnalytics.enable();
📝 License #
Copyright © 2026 Kauê Martins.
This project is MIT licensed.