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 지원팀에 문의하여 도움을 받을 수 있습니다.

 

스펙이나 로직 에러가 아니어서 다행이다.

코드에서 토큰 에러에 대한 예외처리만 해주면 되겠다.

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
29 [mdn web docs] Service worker를 사용해 PWA를 오프라인에서 동작하게 만들기 황제낙엽 2024.07.20 121
28 [ChatGPT] 모바일 환경에서 웹앱의 캐시(cache) 데이터를 서비스에서 업데이트로 갱신하는 방법 황제낙엽 2024.07.17 127
27 [ChatGPT] service-worker.js 에서 cache file list 를 동적으로 생성하여 적용하기 황제낙엽 2024.07.17 105
26 (Copilot) PWA Builder 에 대하여 황제낙엽 2024.07.05 171
25 PWA 데모 샘플들 file 황제낙엽 2024.07.04 152
» FirebaseMessagingException: Requested entity was not found. 황제낙엽 2024.01.12 1510
23 PWA 관련 서적 두권에 대한 목차와 후기 황제낙엽 2023.11.29 119
22 (Copilot) Admin SDK Reference의 java 라이브러리를 이용하여 notification을 fcm에 전송하는 java 예제 황제낙엽 2023.11.28 205
21 firebase.messaging().getToken() 함수와 pushManager.subscribe() 함수의 관계 황제낙엽 2023.11.26 275
20 service worker 재작성시 수동 업데이트 file 황제낙엽 2023.11.25 115
19 [POST/2023.09.13] PWA (Progressive Web Apps) 관련 황제낙엽 2023.11.24 98
18 [POST/2019.11.25] 브라우저 알림(Notification) 팝업에 버튼 추가 with ServiceWorker file 황제낙엽 2023.11.24 99
17 [FCM] FCM 으로 알림 전송 테스트 (spring boot + android + fcm rest) 황제낙엽 2023.11.24 178
16 [FCM] Firebase Console 에서 메세지 보내기 file 황제낙엽 2023.11.24 156
15 (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 샘플 file 황제낙엽 2023.11.23 146
14 (Copilot) Notification Server 의 종류 황제낙엽 2023.11.23 141
13 (OMNIBUSCODE/FCM/WEB/JAVA) web push notification (web browser) 구현 절차 [1] 황제낙엽 2023.11.20 190
12 서비스 워커(service worker) 등록에 대한 LLM 챗봇의 답변 황제낙엽 2023.11.20 113
11 service worker 개발 참고용 링크 모음 황제낙엽 2023.11.10 124
10 service worker 개발을 위한 mozilla 공식 문서 file 황제낙엽 2023.11.10 103