iOS에서는 FCM을 구현하기위해 APNs 추가 설정을 마쳐야한다.
https://firebase.flutter.dev/docs/messaging/apple-integration/#1-registering-a-key
FCM via APNs Integration | FlutterFire
iOS & macOS require additional configuration steps to be completed before you can receive messages.
firebase.flutter.dev
여기 나와있는대로 진행하면 문제없이 진행할 수 있다.
추가로, Android SDK는 포그라운드에서 FCM이 수신되면 자동 차단해버리므로 flutter_local_notification을 구현했었다.
하지만 이로 인해 IOS에서는 포그라운드에서 노티피케이션이 두 번이나 보여지는 현상이 발생할 수 있다.
이건
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
//
});
이 구현부를 Platform.isAndroid로 감싸서, 안드로이드만 실행되게끔 해줌으로써 해결되었다.
위 함수는 포그라운드 수신에 대한 별도 처리로써, Android SDK는 포그라운드에서 FCM 메세지가 오더라도 차단하므로
여기서 flutter_local_notification으로 별도 처리해주는 것이다.
https://firebase.google.com/docs/cloud-messaging/flutter/receive
firebase_messaging: ^14.4.1 버전은 현재 최신버전이다. (난 아직 안쓰고있음)
iOS 추가설정 관련
https://github.com/firebase/flutterfire/issues/9381
여긴 아예 FCM 설정 AOS / IOS 샘플까지 나와있다.
'[클라이언트] > [Flutter]' 카테고리의 다른 글
[TroubleShooting] Flutter InkWell Ripple invisible (0) | 2023.12.18 |
---|---|
Flutter에서 sp, dp 사용하기 (1) | 2023.04.21 |
[Flutter] the showsnackBar() method cannot be called during build (0) | 2023.04.16 |
Await 실험 (0) | 2023.04.12 |
Flutter Floor Migration ( 컬럼 추가 / 필드 추가 / 데이터베이스 업데이트) (0) | 2022.12.31 |