[016] 플러터 (Flutter) Tip - FCM 세팅시 안드로이드 missing default_notification_channel_id 문제 해결법 (백그라운드에서 푸시 헤드업 알림을 받지 못하는 경우)

2024. 12. 24. 13:15모바일어플개발/Flutter Tips

반응형

안녕하세요 totally 개발자입니다~

 

Firebase Cloud Messaing (FCM) 푸시 알림 세팅할 때 안드로이드에서 세팅을 다 완료해준 것 같은데 아래와 같은 오류가 뜨는 경우가 있습니다.

 

"W/FirebaseMessaging(24847): Missing Default Notification Channel metadata in AndroidManifest. Default value will be used."

 

이는 AndroidManifest에 default_notification_channel_id 부분이 제대로 인식되지 않기 때문에 나오는 오류인데, 아래처럼 위치를 조정해주면 빠르게 해결할 수 있습니다. 

 

위치를 activity 태그 안에 두는 것이 아니라, application 태그 안에 바로 위치하게 해야 합니다. <meta-data 저 태그가 activity 태그 안에 들어가 있는 경우에는 제대로 인식하지 못해서 동작하지 않습니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <application>
    <activity>
      ... 중략
    </activity>
    <meta-data
      android:name="com.google.firebase.messaging.default_notification_channel_id"
      android:value="default_notification_channel_id"/>
  </application>
</manifest>

 

위와 같이 위치가 조정되신 후 플러터 푸시 알림 초기화 설정을 해줄 때 아래처럼 위에서 android:value에 입력했던 default_notification_channel_id를 그대로 입력해주시면 됩니다.

final AndroidNotificationChannel channel = AndroidNotificationChannel(
  "default_notification_channel_id",
  "app_name",
  description: "details",
  importance: Importance.max,
);

 

해결에 도움이 되었기를 바랍니다. 감사합니다.

반응형