Firebase analytics és crashlytics használatának beállítása a FirebaseLogger-ben.

This commit is contained in:
2026-06-24 11:24:19 +02:00
parent ccf62aafce
commit e126f340c6
5 changed files with 294 additions and 50 deletions
+18
View File
@@ -1,4 +1,7 @@
import 'dart:ui';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:get/get.dart';
@@ -6,8 +9,10 @@ import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:terepi_seged/pages/tracking/presentation/controllers/tracking_controller.dart';
import 'package:terepi_seged/routes/app_pages.dart';
import 'package:terepi_seged/services/app_database.dart';
import 'package:terepi_seged/services/app_logger.dart';
import 'package:terepi_seged/services/coord_converter_service.dart';
import 'package:terepi_seged/services/device_identity_service.dart';
import 'package:terepi_seged/services/firebase_logger.dart';
import 'package:terepi_seged/services/gnss/gnss_device_service.dart';
import 'package:terepi_seged/services/gnss/gnss_service.dart';
import 'package:terepi_seged/services/layer_import_service.dart';
@@ -20,6 +25,17 @@ import 'package:terepi_seged/services/track_sync_service.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FlutterError.onError = (details) {
FlutterError.presentError(details);
FirebaseCrashlytics.instance.recordFlutterFatalError(details);
};
PlatformDispatcher.instance.onError = (error, stack) {
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
return true;
};
await dotenv.load(fileName: ".env");
await Supabase.initialize(
@@ -29,6 +45,8 @@ Future<void> main() async {
await AppDatabase.instance.database;
Get.put(ProjectService(), permanent: true);
Get.put(AppLogger(), permanent: true);
Get.put(FirebaseLogger(), permanent: true);
await Get.putAsync<CoordConverterService>(
() => CoordConverterService().init());
Get.put(GnssDeviceService());