ErrorCode

Коды ошибок для условий отказа FCM.

Код ошибки Описание и шаги решения
UNSPECIFIED_ERROR Дополнительной информации об этой ошибке нет. Никто.
INVALID_ARGUMENT (код ошибки HTTP = 400) Параметры запроса недействительны. Расширение типа google.rpc.BadRequest возвращается, чтобы указать, какое поле было недействительным. Возможные причины: неверная регистрация, недопустимое имя пакета, слишком большое сообщение, неверный ключ данных, неверный срок жизни или другие недопустимые параметры.
Неверная регистрация : проверьте формат регистрационного токена, который вы передаете на сервер. Убедитесь, что он соответствует регистрационному токену, который клиентское приложение получает при регистрации в FCM. Не обрезайте токен и не добавляйте дополнительные символы.
Недопустимое имя пакета . Убедитесь, что сообщение было адресовано регистрационному токену, имя пакета которого соответствует значению, переданному в запросе.
Сообщение слишком большое : убедитесь, что общий размер полезных данных, включенных в сообщение, не превышает ограничения FCM: 4096 байт для большинства сообщений или 2048 байт в случае сообщений в темах. Сюда входят как ключи, так и значения.
Неверный ключ данных . Убедитесь, что полезные данные не содержат ключ (например, from, gcm или любое значение с префиксом Google), который используется внутри FCM. Обратите внимание, что некоторые слова (например, свернуть_ключ) также используются FCM, но разрешены в полезных данных, и в этом случае значение полезных данных будет переопределено значением FCM.
Неверный срок жизни : убедитесь, что значение, используемое в сроке жизни, является целым числом, представляющим продолжительность в секундах от 0 до 2 419 200 (4 недели).
Недопустимые параметры . Убедитесь, что предоставленные параметры имеют правильное имя и тип.
UNREGISTERED (код ошибки HTTP = 404). Экземпляр приложения не зарегистрирован в FCM. Обычно это означает, что используемый токен больше не действителен и необходимо использовать новый. Эта ошибка может быть вызвана отсутствием токенов регистрации или незарегистрированными токенами.
Отсутствует регистрация . Если целью сообщения является значение token , убедитесь, что запрос содержит токен регистрации.
Не зарегистрировано : существующий регистрационный токен может перестать быть действительным в ряде сценариев, в том числе:
- Если клиентское приложение отменяет регистрацию в FCM.
- Если регистрация клиентского приложения автоматически отменяется, что может произойти, если пользователь удалит приложение. Например, в iOS, если служба обратной связи APNs сообщила, что токен APNs недействителен.
- Если срок действия токена регистрации истек (например, Google может принять решение обновить токены регистрации или срок действия токена APNs истек для устройств iOS).
- Если клиентское приложение обновлено, но новая версия не настроена на получение сообщений.
Во всех этих случаях удалите этот регистрационный токен с сервера приложений и прекратите использовать его для отправки сообщений.
SENDER_ID_MISMATCH (код ошибки HTTP = 403) Идентификатор проверенного отправителя отличается от идентификатора отправителя для токена регистрации. Регистрационный токен привязан к определенной группе отправителей. Когда клиентское приложение регистрируется в FCM, оно должно указать, каким отправителям разрешено отправлять сообщения. Вам следует использовать один из этих идентификаторов отправителя при отправке сообщений в клиентское приложение. Если вы переключитесь на другого отправителя, существующие регистрационные токены не будут работать.
QUOTA_EXCEEDED (код ошибки HTTP = 429) Превышен лимит отправки для целевого сообщения. Расширение типа google.rpc.QuotaFailure возвращается, чтобы указать, какая квота была превышена. Эта ошибка может быть вызвана превышением квоты скорости сообщения, превышением квоты скорости сообщения устройства или превышением квоты скорости сообщения темы.
Превышена скорость передачи сообщений : Скорость отправки сообщений слишком высока. Вы должны снизить общую скорость отправки сообщений. Используйте экспоненциальную отсрочку с минимальной начальной задержкой в ​​1 минуту для повторной попытки отклоненных сообщений.
Превышена частота сообщений устройства : Скорость сообщений на конкретное устройство слишком высока. См. ограничение скорости передачи сообщений для одного устройства . Уменьшите количество сообщений, отправляемых на это устройство, и используйте экспоненциальную отсрочку для повторной отправки.
Превышена частота сообщений по теме : Частота сообщений подписчикам по определенной теме слишком высока. Уменьшите количество сообщений, отправляемых по этой теме, и используйте экспоненциальную задержку с минимальной начальной задержкой в ​​1 минуту для повторной отправки.
UNAVAILABLE (код ошибки HTTP = 503) Сервер перегружен. Сервер не смог вовремя обработать запрос. Повторите тот же запрос, но необходимо:
— Учитывайте заголовок Retry-After, если он включен в ответ сервера соединений FCM.
- Внедрите экспоненциальную отсрочку в механизме повторных попыток. (например, если вы подождали одну секунду перед первой повторной попыткой, подождите не менее двух секунд перед следующей, затем 4 секунды и так далее). Если вы отправляете несколько сообщений, рассмотрите возможность применения дрожания. Дополнительные сведения см. в разделе Обработка повторных попыток . Отправители, вызывающие проблемы, рискуют попасть в список запрещенных.
INTERNAL (код ошибки HTTP = 500) Произошла неизвестная внутренняя ошибка. Сервер обнаружил ошибку при попытке обработать запрос. Вы можете повторить тот же запрос, следуя рекомендациям в разделе «Обработка повторных попыток» . Если ошибка не исчезнет, ​​обратитесь в службу поддержки Firebase.
THIRD_PARTY_AUTH_ERROR (код ошибки HTTP = 401) Сертификат APN или ключ аутентификации через веб-приложение недействительны или отсутствуют. Не удалось отправить сообщение, предназначенное для устройства iOS, или веб-приложение. Проверьте действительность своих учетных данных для разработки и производства.