본문 바로가기
Flutter

[Flutter] 플러터 - Ios fcm 알림 foreground 중복으로 두번 온다면?

by s_hoonee 2024. 1. 16.
반응형

포어그라운드에서만 알림이 중복해서 2번 온다면? 

로컬노티랑 파이어베이스 쪽 알림이 둘다 켜져있어서 그릏다! 안드로이드때메 로컬 노티를 켜놨을 땐 파베는 포어그라운드를 끄고 로컬노티만 사용하자!

초기화 부분 설정

포어그라운드 수신 메소드 

 /// 포아그라운드 알람 수신 시 호출되는 콜백 함수
    FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
      RemoteNotification? notification = message.notification;

      print("==============포어그라운드 notification: ${notification?.body.toString()} =======================");
      print("포어그라운드 도착 시간: ${DateTime.now().toString()}");

      // 알림을 켜놨고, 알람 수신 시 앱이 포어그라운드 상태일 떄
        final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
        await flutterLocalNotificationsPlugin.show(
          notification.hashCode,
          notification.title,
          notification.body,
          const NotificationDetails(
            android: AndroidNotificationDetails(
              'high_importance_channel', // 알림 채널 ID
              'high_importance_notification', // 알림 채널 이름
              importance: Importance.max,
              priority: Priority.high,
              icon: "@mipmap/launcher_icon",
            ),

          ),
        );

        /// todo : 알림이 수신되면 로컬 알림에 저장
    });

 

마지막으로 

ios\Runner\AppDelegate.swift에 아래 코드 추가 

     if #available(iOS 10.0, *) {
        UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
      }