From 036ebbeb2f0e6b68a75f7f780b35740e58ff04dd Mon Sep 17 00:00:00 2001 From: ManhNTX Date: Fri, 18 Nov 2022 14:03:52 +0700 Subject: [PATCH] TF-1202: Add doc --- docs/configuration/fcm_configuration.md | 17 +++++++++++++++++ .../presentation/notification_service.dart | 12 ++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 docs/configuration/fcm_configuration.md diff --git a/docs/configuration/fcm_configuration.md b/docs/configuration/fcm_configuration.md new file mode 100644 index 000000000..abe9e0cfe --- /dev/null +++ b/docs/configuration/fcm_configuration.md @@ -0,0 +1,17 @@ +## Configuration for App Grid + +### Context +- Team Mail using FCM service +- User need config env for FCM service +- Now only support to Android +### How to config + +1.Add environment of FCM service in [env.file](https://github.com/linagora/tmail-flutter/blob/master/env.file) +``` +FIREBASE_ANDROID_API_KEY=abc +FIREBASE_ANDROID_APP_ID=abc +FIREBASE_ANDROID_MESSAGING_SENDER_ID=123 +FIREBASE_ANDROID_PROJECT_ID=abc +FIREBASE_ANDROID_DATABASE_URL=https://abc.app +FIREBASE_ANDROID_STORAGE_BUCKET=abc.com +``` diff --git a/lib/features/push_notification/presentation/notification_service.dart b/lib/features/push_notification/presentation/notification_service.dart index 4b2ee73c2..99245e8f9 100644 --- a/lib/features/push_notification/presentation/notification_service.dart +++ b/lib/features/push_notification/presentation/notification_service.dart @@ -12,7 +12,11 @@ import 'package:tmail_ui_user/features/push_notification/presentation/firebase_o @pragma('vm:entry-point') Future firebaseMessagingBackgroundHandler(RemoteMessage message) async { await dotenv.load(fileName: 'env.file'); - await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); + try { + await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); + } catch (e) { + log('NotificationService::initializeNotificationService(): $e'); + } log('firebaseMessagingBackgroundHandler: ${message.data}'); } @@ -29,7 +33,11 @@ class NotificationService { static bool _isFlutterLocalNotificationsInitialized = false; static Future initializeNotificationService() async { - await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); + try { + await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); + } catch (e) { + log('NotificationService::initializeNotificationService(): $e'); + } FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler); if (_isFlutterLocalNotificationsInitialized) return; final _saveFirebaseCacheInteractor = Get.find();