FCM HTTP V1 API возвращает 404 незарегистрированного токена

FCM HTTP V1 API должен возвращать код ошибки "незарегистрированный", когда устройство не зарегистрировано (приложение удалено). Однако API возвращает 404 "запрошенная сущность не найдена".

есть кто-нибудь испытал это? Это ожидаемое? Об этом нигде в документации не упоминается.

можно ли предположить, что устройство не зарегистрировано, когда 404 ошибка с сообщением "запрошенный объект не найден" получено?

следовать полное тело получена ошибка.

{
  "error": {
    "code": 404,
    "message": "Requested entity was not found.",
    "errors": [
      {
        "message": "Requested entity was not found.",
        "domain": "global",
        "reason": "notFound"
      }
    ],
    "status": "NOT_FOUND"
  }
}

исключения:

Caused by: com.google.firebase.messaging.FirebaseMessagingException: Requested entity was not found.
    at com.google.firebase.messaging.FirebaseMessaging.handleSendHttpError(FirebaseMessaging.java:266) ~[firebase-admin-5.9.0.jar:?]

для справочной документации по API:

https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages https://firebase.google.com/docs/reference/fcm/rest/v1/ErrorCode

2 ответов


Да, я испытал это с модулем firebase-admin-node, который недавно был обновлен, чтобы сопоставить NOT_FOUND с" незарегистрированной " ошибкой, поэтому кажется, что это ожидаемый ответ.

https://github.com/firebase/firebase-admin-node/commit/069c9cd50502b0fa7cc6843ea3ef9d8d85dca9b9#diff-ce3edf3ab3ed8957259b6bd4035a0256R617

(хотя, похоже, статус NOT_FOUND является ключевой информацией, а не " запрошенная сущность не была найдено" сообщение)

одна вещь, которую вы можете подтвердить, - это незарегистрированные токены из разных браузеров / устройств. То есть, Я думаю, что незарегистрированные токены из chrome вернули другую ошибку, чем одна из firefox.


мы сталкиваемся с ошибкой 404 код ошибки при отправке уведомлений в Незарегистрированные Устройства через старую конечную точку FCM:

https://fcm.googleapis.com/fcm/send

документация для API v1 была обновлена и не содержит этот код ошибки.