From 94ef3ddb9fdfd34926b6482203f646e055f5f260 Mon Sep 17 00:00:00 2001 From: ssbg04 Date: Tue, 18 Aug 2026 16:23:56 +0800 Subject: [PATCH] fix(flutter): guard FirebaseMessaging against LateInitializationError with Firebase.apps.isEmpty check --- frontend/lib/core/services/fcm_service.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/lib/core/services/fcm_service.dart b/frontend/lib/core/services/fcm_service.dart index a000795..aaf7a86 100644 --- a/frontend/lib/core/services/fcm_service.dart +++ b/frontend/lib/core/services/fcm_service.dart @@ -1,5 +1,6 @@ import 'dart:io' show Platform; import 'package:dio/dio.dart'; +import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/foundation.dart' show kIsWeb, debugPrint; import 'package:shared_preferences/shared_preferences.dart'; @@ -16,9 +17,8 @@ class FcmService { static bool get _isMobile => !kIsWeb && (Platform.isAndroid || Platform.isIOS); static Future initialize() async { - if (!_isMobile) return; - try { + if (!_isMobile || Firebase.apps.isEmpty) return; final messaging = FirebaseMessaging.instance; await messaging.requestPermission(alert: true, badge: true, sound: true); @@ -55,8 +55,8 @@ class FcmService { } static Future registerToken() async { - if (!_isMobile) return; try { + if (!_isMobile || Firebase.apps.isEmpty) return; final token = await FirebaseMessaging.instance.getToken(); if (token == null || token.isEmpty) return;