Skip to content

Instantly share code, notes, and snippets.

@ChrisMarxDev
Created June 8, 2022 13:01
Show Gist options
  • Save ChrisMarxDev/25d231607729439594f1ffada7339a12 to your computer and use it in GitHub Desktop.
Save ChrisMarxDev/25d231607729439594f1ffada7339a12 to your computer and use it in GitHub Desktop.
Firebase analytics
import 'dart:async';
import 'dart:convert';
import 'package:firebase_analytics/firebase_analytics.dart';
import 'logging.dart';
void logEvent(
String name, [
Map<String, Object>? params,
]) {
logger.i('[📊 Analytics Event] $name, ${jsonEncode(params)}');
unawaited(
Analytics.logEvent(name: name, parameters: params),
);
}
class Analytics {
static void setUserId(String user) {
analytics.setUserId(id: user);
}
static FirebaseAnalytics analytics = FirebaseAnalytics.instance;
static Future<void> logEvent({
required String name,
Map<String, dynamic>? parameters,
}) =>
analytics.logEvent(
name: name,
parameters: parameters,
);
static Future<void> setCurrentScreen({
required String screenName,
String? screenClassOverride,
}) =>
analytics.setCurrentScreen(
screenName: screenName,
screenClassOverride: screenClassOverride ?? 'Flutter',
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment