sitelink1 | |
---|---|
sitelink2 | |
sitelink3 |
얼마전부터 콘솔에서 다음과 같은 에러 메세지가 출력되기 시작했다.
com.google.firebase.messaging.FirebaseMessagingException: Requested entity was not found.
at com.google.firebase.messaging.FirebaseMessagingException.withMessagingErrorCode(FirebaseMessagingException.java:51)
at com.google.firebase.messaging.FirebaseMessagingClientImpl$MessagingErrorHandler.createException(FirebaseMessagingClientImpl.java:293)
at com.google.firebase.messaging.FirebaseMessagingClientImpl$MessagingErrorHandler.createException(FirebaseMessagingClientImpl.java:282)
at com.google.firebase.internal.AbstractHttpErrorHandler.handleHttpResponseException(AbstractHttpErrorHandler.java:57)
at com.google.firebase.internal.ErrorHandlingHttpClient.send(ErrorHandlingHttpClient.java:108)
at com.google.firebase.internal.ErrorHandlingHttpClient.sendAndParse(ErrorHandlingHttpClient.java:72)
at com.google.firebase.messaging.FirebaseMessagingClientImpl.sendSingleRequest(FirebaseMessagingClientImpl.java:127)
at com.google.firebase.messaging.FirebaseMessagingClientImpl.send(FirebaseMessagingClientImpl.java:113)
at com.google.firebase.messaging.FirebaseMessaging$1.execute(FirebaseMessaging.java:141)
at com.google.firebase.messaging.FirebaseMessaging$1.execute(FirebaseMessaging.java:138)
at com.google.firebase.internal.CallableOperation.call(CallableOperation.java:36)
at com.google.firebase.messaging.FirebaseMessaging.send(FirebaseMessaging.java:108)
at com.google.firebase.messaging.FirebaseMessaging.send(FirebaseMessaging.java:90)
at com.omnibuscode.util.FcmNotification.sendNotification(FcmNotification.java:98)
at com.omnibuscode.util.FcmNotification.flushNotifications(FcmNotification.java:123)
at com.omnibuscode.base.ExpiredManager.run(ExpiredManager.java:61)
at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: com.google.api.client.http.HttpResponseException: 404 Not Found
POST https://fcm.googleapis.com/v1/projects/project-43b77/messages:send
{
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND",
"details": [
{
"@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError",
"errorCode": "UNREGISTERED"
}
]
}
}
처음엔 스펙이 바뀐건가? 싶어서 레퍼런스를 찾아봐도 내용이 나오지 않았는데
제미나이에게 물어보니 적당한 답을 주었다.
type.googleapis.com/google.firebase.fcm.v1.FcmError UNREGISTERED
에러는 Firebase Cloud Messaging(FCM)에서 발생하는 에러로, 해당 디바이스가 FCM에 등록되지 않았음을 의미합니다. 이 에러는 다음과 같은 경우에 발생할 수 있습니다.
- 사용자가 앱을 삭제하거나,
- 사용자가 앱의 FCM 푸시 알림을 비활성화하거나,
- FCM 서버에서 디바이스를 등록 해제하거나,
- 디바이스가 FCM 서버와의 연결을 잃어버렸을 때
이 에러를 해결하기 위해서는 다음과 같은 방법을 시도해 볼 수 있습니다.
- 사용자가 앱을 설치했는지 확인합니다.
- 사용자가 앱의 FCM 푸시 알림을 활성화했는지 확인합니다.
- FCM 서버에서 디바이스를 등록 해제하지 않았는지 확인합니다.
- 디바이스가 FCM 서버와의 연결을 잃어버리지 않았는지 확인합니다.
특히, 사용자가 앱을 삭제한 경우, 앱을 다시 설치하면 자동으로 새로운 토큰이 생성되므로, 이 에러가 해결됩니다.
다음은 에러를 해결하기 위한 구체적인 방법입니다.
사용자가 앱을 설치했는지 확인
사용자가 앱을 설치했는지 확인하려면 다음과 같은 방법을 사용할 수 있습니다.
- Google Play Console에서 앱의 설치 수를 확인합니다.
- App Store Connect에서 앱의 다운로드 수를 확인합니다.
사용자가 앱의 FCM 푸시 알림을 활성화했는지 확인
사용자가 앱의 FCM 푸시 알림을 활성화했는지 확인하려면 다음과 같은 방법을 사용할 수 있습니다.
- 앱을 열고, 설정 또는 환경설정을 엽니다.
- 알림 섹션에서 FCM 푸시 알림이 활성화되어 있는지 확인합니다.
FCM 서버에서 디바이스를 등록 해제하지 않았는지 확인
FCM 서버에서 디바이스를 등록 해제하지 않았는지 확인하려면 다음과 같은 방법을 사용할 수 있습니다.
- Firebase Console에서 앱의 디바이스 목록을 확인합니다.
- 해당 디바이스가 목록에 포함되어 있는지 확인합니다.
디바이스가 FCM 서버와의 연결을 잃어버리지 않았는지 확인
디바이스가 FCM 서버와의 연결을 잃어버리지 않았는지 확인하려면 다음과 같은 방법을 사용할 수 있습니다.
- 앱을 열고, FCM 푸시 알림을 보내 테스트합니다.
- 푸시 알림이 전송되는지 확인합니다.
이러한 방법을 시도해도 에러가 해결되지 않는 경우, Firebase 지원팀에 문의하여 도움을 받을 수 있습니다.
스펙이나 로직 에러가 아니어서 다행이다.
코드에서 토큰 에러에 대한 예외처리만 해주면 되겠다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | FirebaseMessagingException: Requested entity was not found. | 황제낙엽 | 2024.01.12 | 1511 |
12 | (Copilot) Admin SDK Reference의 java 라이브러리를 이용하여 notification을 fcm에 전송하는 java 예제 | 황제낙엽 | 2023.11.28 | 205 |
11 | firebase.messaging().getToken() 함수와 pushManager.subscribe() 함수의 관계 | 황제낙엽 | 2023.11.26 | 275 |
10 | [FCM] FCM 으로 알림 전송 테스트 (spring boot + android + fcm rest) | 황제낙엽 | 2023.11.24 | 178 |
9 |
[FCM] Firebase Console 에서 메세지 보내기
![]() | 황제낙엽 | 2023.11.24 | 156 |
8 |
(OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 샘플
![]() | 황제낙엽 | 2023.11.23 | 146 |
7 | (Copilot) Notification Server 의 종류 | 황제낙엽 | 2023.11.23 | 141 |
6 | (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 구현 절차 [1] | 황제낙엽 | 2023.11.20 | 190 |
5 | 푸쉬 알림 개발 관련 레퍼런스 | 황제낙엽 | 2023.11.09 | 174 |
4 | [bard] web-push와 fcm 의 차이 | 황제낙엽 | 2023.11.08 | 224 |
3 | PWA 관련 링크 모음 | 황제낙엽 | 2023.11.06 | 165 |
2 | FCM (firebase cloud message) 사용하기 | 황제낙엽 | 2021.02.09 | 189 |
1 | FCM 과 GCM 차이 | 황제낙엽 | 2019.02.19 | 311 |