init static method

Future<void> init({
  1. bool useFirebase = false,
})

Initialize the service.

useFirebase — set to true and ensure firebase_core / firebase_analytics are in pubspec.yaml and Firebase is configured via flutterfire configure.

Implementation

static Future<void> init({bool useFirebase = false}) async {
  if (_instance != null) return;

  final service = AnalyticsService._();
  service._useFirebase = useFirebase;

  if (useFirebase) {
    // ── Firebase initialization ──────────────────────────────────────
    // Uncomment when firebase_analytics is available:
    //
    // await Firebase.initializeApp(
    //   options: DefaultFirebaseOptions.currentPlatform,
    // );
    // service._firebase = FirebaseAnalytics.instance;
    // service._log.info('Firebase Analytics initialized.');
    //
    service._log.warning(
        'useFirebase=true but Firebase packages are not yet activated. '
        'Falling back to local event log.');
    service._useFirebase = false;
  }

  _instance = service;
  service._log.info(
      'AnalyticsService initialized (backend: ${service._useFirebase ? 'Firebase' : 'local'})');
}