관리 메뉴

꿀맛코딩

Flutter awesome_notifications 앱 종료후 메시지 안보이는 현상 수정 방법 본문

공부방/Flutter

Flutter awesome_notifications 앱 종료후 메시지 안보이는 현상 수정 방법

soycrab 2023. 10. 15. 00:50

Flutter 앱에서 fcm을 통해 message를 수신하고, 수신한 메시지를 awesome_notifications을 통해 보여주는 방식으로 

코드를 짯는데 이상하게 Release build에서 앱을 종료후 fcm message를 수신하면 채팅 메시지가 보이지 않는 현상을 발견하였다.

위의 사진처럼 메시지는 보이지 않고 아이콘만 덩그러니 보인다. 

그래서 혹시 서버측에서 notification title이나 message에 데이터가 들어가나 체크도 해보고, 

chanel 설정이 잘못되었나 체크도 다 해봤는데,

알고보니 플러터가 업그레이드 되면서 릴리즈 빌드시 tree shaking 이 되면서 코드가 제거된다는 소리를 들었다. 

이게 맞는 표현인지도 모르겠지만 아무튼 결론은 

_onBackgroundMessage 함수에 

@pragma('vm:entry-point') 어노테이션을 추가해서 삭제를 방지해주면 정상 동작한다. 

FirebaseMessaging.onBackgroundMessage(_onBackgroundMessage);


@pragma('vm:entry-point')
Future<void> _onBackgroundMessage(RemoteMessage message) async {
  final pushMessage = _remoteMessageToFcmMessage(message.data);
  _pushReceiveStreamController.add(pushMessage);

  LocalNotificationService.showChatFcmNotification(pushMessage);
}

 

반응형
Comments