analytics_hub_firebase 0.2.0
analytics_hub_firebase: ^0.2.0 copied to clipboard
Firebase Analytics provider for analytics_hub. Sends LogEvent and all GA4 e-commerce events (add_to_cart, purchase, view_item, etc.) to Firebase via the official SDK.
example/main.dart
import 'package:analytics_hub/analytics_hub.dart';
import 'package:analytics_hub_firebase/analytics_hub_firebase.dart';
class EmptySessionDelegate implements HubSessionDelegate {
@override
Stream<Session?> get sessionStream => Stream.value(null);
@override
Future<Session?> getSession() async => null;
}
class ExampleSelectPromotionECommerceEvent
extends SelectPromotionECommerceEvent {
const ExampleSelectPromotionECommerceEvent({required this.creativeName});
final String creativeName;
@override
SelectPromotionECommerceEventData get data =>
SelectPromotionECommerceEventData(
creativeName: creativeName,
);
@override
List<
EventProvider<ECommerceEventResolver,
ECommerceEventOptions<SelectPromotionECommerceEventData>>>
get providers => [
const EventProvider(FirebaseAnalyticsHubProviderKey()),
];
}
Future<void> main() async {
final hub = AnalyticsHub(
sessionDelegate: EmptySessionDelegate(),
providers: [
FirebaseAnalyticsHubProvider.fromInstance(),
],
);
await hub.initialize();
await hub.sendEvent(
const ExampleSelectPromotionECommerceEvent(creativeName: 'creative_name'),
);
await hub.dispose();
}