ErrorCode

FCM 실패 조건에 대한 오류 코드입니다.

에러 코드 설명 및 해결 단계
UNSPECIFIED_ERROR 이 오류에 대한 추가 정보가 없습니다. 없음.
INVALID_ARGUMENT (HTTP 오류 코드 = 400) 요청 매개변수가 잘못되었습니다. 어떤 필드가 유효하지 않은지 지정하기 위해 google.rpc.BadRequest 유형의 확장이 반환됩니다. 잠재적인 원인으로는 잘못된 등록, 잘못된 패키지 이름, 메시지가 너무 큼, 잘못된 데이터 키, 잘못된 TTL 또는 기타 잘못된 매개변수 등이 있습니다.
잘못된 등록 : 서버에 전달한 등록 토큰의 형식을 확인하세요. 클라이언트 앱이 FCM에 등록하여 받는 등록 토큰과 일치하는지 확인하세요. 토큰을 자르거나 문자를 추가하지 마세요.
잘못된 패키지 이름 : 패키지 이름이 요청에 전달된 값과 일치하는 등록 토큰으로 메시지가 전달되었는지 확인하세요.
메시지가 너무 큼 : 메시지에 포함된 페이로드 데이터의 총 크기가 FCM 제한(대부분의 메시지의 경우 4096바이트, 주제에 대한 메시지의 경우 2048바이트)을 초과하지 않는지 확인하세요. 여기에는 키와 값이 모두 포함됩니다.
잘못된 데이터 키 : ​​페이로드 데이터에 FCM에서 내부적으로 사용하는 키(예: from, gcm 또는 google이 앞에 붙은 값)가 포함되어 있지 않은지 확인하세요. 일부 단어(예:collapse_key)는 FCM에서도 사용되지만 페이로드에서는 허용됩니다. 이 경우 페이로드 값은 FCM 값으로 재정의됩니다.
잘못된 TTL : ttl에 사용된 값이 0~2,419,200(4주) 사이의 기간(초)을 나타내는 정수인지 확인하세요.
잘못된 매개변수 : 제공된 매개변수의 이름과 유형이 올바른지 확인하세요.
UNREGISTERED (HTTP 오류 코드 = 404) 앱 인스턴스가 FCM에서 등록 취소되었습니다. 이는 일반적으로 사용된 토큰이 더 이상 유효하지 않으며 새 토큰을 사용해야 함을 의미합니다. 이 오류는 등록 토큰이 누락되었거나 등록되지 않은 토큰으로 인해 발생할 수 있습니다.
누락된 등록 : 메시지의 대상이 token 값인 경우 요청에 등록 토큰이 포함되어 있는지 확인하세요.
등록되지 않음 : 기존 등록 토큰은 다음을 포함한 여러 시나리오에서 유효하지 않을 수 있습니다.
- 클라이언트 앱이 FCM에 등록 취소된 경우.
- 클라이언트 앱이 자동으로 등록 취소되는 경우(사용자가 애플리케이션을 제거하면 발생할 수 있음) 예를 들어 iOS에서 APN 피드백 서비스가 APN 토큰을 유효하지 않은 것으로 보고한 경우입니다.
- 등록 토큰이 만료되는 경우(예를 들어 Google이 등록 토큰을 새로 고치기로 결정하거나 iOS 기기에 대한 APN 토큰이 만료된 경우)
- 클라이언트 앱이 업데이트되었지만 새 버전이 메시지를 수신하도록 구성되지 않은 경우.
이러한 모든 경우에 대해 앱 서버에서 이 등록 토큰을 제거하고 메시지 전송에 사용하는 것을 중지하세요.
SENDER_ID_MISMATCH (HTTP 오류 코드 = 403) 인증된 발신자 ID가 등록 토큰의 발신자 ID와 다릅니다. 등록 토큰은 특정 발신자 그룹과 연결되어 있습니다. 클라이언트 앱이 FCM에 등록할 때 메시지를 보낼 수 있는 발신자를 지정해야 합니다. 클라이언트 앱에 메시지를 보낼 때 해당 발신자 ID 중 하나를 사용해야 합니다. 다른 발신자로 전환하면 기존 등록 토큰이 작동하지 않습니다.
QUOTA_EXCEEDED (HTTP 오류 코드 = 429) 메시지 대상에 대한 전송 한도가 초과되었습니다. 초과된 할당량을 지정하기 위해 google.rpc.QuotaFailure 유형의 확장이 반환됩니다. 이 오류는 메시지 속도 할당량 초과, 장치 메시지 속도 할당량 초과 또는 주제 메시지 속도 할당량 초과로 인해 발생할 수 있습니다.
메시지 속도 초과 : 메시지 전송 속도가 너무 높습니다. 메시지를 보내는 전체 속도를 줄여야 합니다. 거부된 메시지를 재시도하려면 최소 초기 지연 시간이 1분인 지수 백오프를 사용하세요.
장치 메시지 비율 초과 : 특정 장치에 대한 메시지 비율이 너무 높습니다. 단일 장치에 대한 메시지 속도 제한을 참조하세요 . 이 기기로 전송되는 메시지 수를 줄이고 지수 백오프를 사용하여 전송을 다시 시도하세요.
주제 메시지 비율 초과 : 특정 주제의 구독자에게 보내는 메시지 비율이 너무 높습니다. 이 주제에 대해 전송된 메시지 수를 줄이고 최소 초기 지연 시간이 1분인 지수 백오프를 사용하여 전송을 다시 시도합니다.
UNAVAILABLE (HTTP 오류 코드 = 503) 서버가 과부하되었습니다. 서버가 제때에 요청을 처리하지 못했습니다. 동일한 요청을 다시 시도하되 다음을 수행해야 합니다.
- FCM 연결 서버의 응답에 Retry-After 헤더가 포함된 경우 이를 적용합니다.
- 재시도 메커니즘에 지수 백오프를 구현합니다. (예를 들어 첫 번째 재시도 전에 1초를 기다린 경우 다음 재시도 전에 최소 2초를 기다린 다음 4초를 기다리십시오.) 여러 메시지를 보내는 경우 지터링 적용을 고려하세요. 자세한 내용은 재시도 처리를 참조하세요 . 문제를 일으키는 발신자는 거부 목록에 포함될 위험이 있습니다.
INTERNAL (HTTP 오류 코드 = 500) 알 수 없는 내부 오류가 발생했습니다. 요청을 처리하는 동안 서버에서 오류가 발생했습니다. 재시도 처리의 제안에 따라 동일한 요청을 재시도할 수 있습니다 . 오류가 지속되면 Firebase 지원팀에 문의하세요.
THIRD_PARTY_AUTH_ERROR (HTTP 오류 코드 = 401) APN 인증서 또는 웹 푸시 인증 키가 유효하지 않거나 누락되었습니다. iOS 기기 또는 웹 푸시 등록을 대상으로 하는 메시지를 보낼 수 없습니다. 개발 및 프로덕션 자격 증명의 유효성을 확인하세요.