[Flutter]

[Flutter] iOS FCM 추가 구현 및 주의

Hevton 2023. 4. 16. 14:27
반응형

 

 

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://stackoverflow.com/questions/72882308/firebasemessaging-onbackgroundmessage-is-not-invoked-when-my-app-is-on-backgroun

 

https://github.com/firebase/flutterfire/issues/9381

 

여긴 아예 FCM 설정 AOS / IOS 샘플까지 나와있다.

https://github.com/firebase/flutterfire/tree/master/packages/firebase_messaging/firebase_messaging/example

반응형