Firebase push notification 를 ios app 이 foreground 일 때 메시지를 못 받습니다

안녕하세요.

firebase 를 통해서 push notification 을 구현하고 있는데요.

ios 의 경우 app background 이면 메시지를 잘 받고요.

app foreground 상태일때 메시지를 못 받는 경우가 생기는데요. 기기 마다 증상을 보이는 것도 있고 아닌 것도 있고 그러네요.

혹시 비슷한 증상을 겪으셨거나 원인을 알고 있는 분 계신가요?

전 foreground의 경우 받아서 local notification을 띄우는 방식으로 별도 처리 했었습니다. 내부적으로 알람이 들어는 오거든요

백라운드랑 포그라운드랑 사용하는 펑션이 다릅니다.

백그라운드 : ```
messaging().setBackgroundMessageHandler(async remoteMessage => {
console.log(‘Message handled in the background!’, remoteMessage);
});

포그라운드:
messaging().onMessage(async remoteMessage => {
      Alert.alert('A new FCM message arrived!', JSON.stringify(remoteMessage));
    });

두개를 맞게 코딩하셨다면 아마도 ios에서 푸시알림 눌러 앱에 
들어온후 푸시를 받으면 ios 는 안드로이드 와는 다르게 계속 백그라운드 
상태가 됩니다. 해당 이슈를 해결하고 싶으시면

https://rnfirebase.io/messaging/usage

위에 링크를 참조하시여
// index.js
import { AppRegistry } from 'react-native';
import messaging from '@react-native-firebase/messaging';

messaging().setBackgroundMessageHandler(async remoteMessage => {
  console.log('Message handled in the background!', remoteMessage);
});

function HeadlessCheck({ isHeadless }) {
  if (isHeadless) {
    // App has been launched in the background by iOS, ignore
    return null;
  }

  return <App />;
}

function App() {
  // Your application
}

AppRegistry.registerComponent('app', () => HeadlessCheck);


(@react-native-firebase/messaging 최신버전 업데이트 후) index.js 를 위코드로 변경해주면 백그라운드로 실행되는 것을 막을수 있습니다.  도움이 되셧길 :)