ErrorCode

FCM 실패 조건의 오류 코드입니다.

오류 코드 설명 및 해결 단계
UNSPECIFIED_ERROR 이 오류에 대한 정보가 더 이상 없습니다. 없음.
INVALID_ARGUMENT (HTTP 오류 코드 = 400) 요청 매개변수가 잘못되었습니다. 잘못된 필드를 지정하기 위해 google.rpc.BadRequest 유형의 확장 프로그램이 반환됩니다. 잘못된 등록, 잘못된 패키지 이름, 너무 큰 메시지, 잘못된 데이터 키, 잘못된 TTL 또는 기타 잘못된 매개변수가 원인일 수 있습니다.
잘못된 등록: 서버에 전달하는 등록 토큰의 형식을 확인하세요. FCM에 등록할 때 클라이언트 앱이 수신하는 등록 토큰과 일치하는지 확인합니다. 토큰을 자르거나 문자를 추가하지 마세요.
잘못된 패키지 이름: 패키지 이름이 요청에서 전달된 값과 일치하는 등록 토큰으로 메시지를 보내야 합니다.
메시지가 너무 큼: 메시지에 포함된 페이로드 데이터의 총 크기가 FCM 한도를 초과하지 않는지 확인합니다. 대부분의 메시지는 4,096바이트이며 주제로 보내는 메시지의 경우 2,048바이트입니다. 여기에는 키와 값이 모두 포함됩니다.
잘못된 데이터 키: 페이로드 데이터에 FCM에서 내부적으로 사용하는 키 (from, gcm 또는 google 프리픽스가 붙은 값)가 포함되어 있지 않은지 확인하세요. collapse_key와 같은 일부 단어는 FCM에서 사용되지만 페이로드에서 허용됩니다. 이 경우 페이로드 값이 FCM 값으로 재정의됩니다.
잘못된 TTL: ttl에 사용된 값이 0~2,419,200초 (4주) 사이의 기간을 나타내는 정수인지 확인하세요.
잘못된 매개변수: 제공된 매개변수의 이름과 유형이 올바른지 확인하세요.
UNREGISTERED (HTTP 오류 코드 = 404) 앱 인스턴스가 FCM에서 등록 취소되었습니다. 일반적으로 사용된 토큰이 더 이상 유효하지 않으며 새 토큰을 사용해야 함을 의미합니다. 이 오류는 등록 토큰 누락 또는 등록되지 않은 토큰으로 인해 발생할 수 있습니다.
등록 누락: 메시지 대상이 token 값인 경우 요청에 등록 토큰이 포함되어 있는지 확인합니다.
등록되지 않음: 다음을 비롯한 여러 상황에서 기존 등록 토큰이 더 이상 유효하지 않게 될 수 있습니다.
- 클라이언트 앱이 FCM에서 등록 취소되는 경우
- 클라이언트 앱이 자동으로 등록 취소되는 경우. 사용자가 애플리케이션을 제거한 경우에 발생할 수 있습니다. 예를 들어 iOS에서 APNs 피드백 서비스가 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) 서버가 과부하되었습니다. 서버에서 시간 내에 요청을 처리하지 못했습니다. 동일한 요청을 다시 시도하세요. 단, 다음과 같아야 합니다.
- Retry-After 헤더가 FCM 연결 서버의 응답에 포함된 경우 이 헤더를 반영합니다.
- 재시도 메커니즘에서 지수 백오프를 구현합니다. (예: 첫 번째 재시도 전에 1초 동안 기다렸다면 다음 재시도에서는 최소 2초, 그 다음에는 4초 동안 기다리는 식으로 대기 시간을 늘림) 여러 개의 메시지를 보내는 경우 지터를 적용해 보세요. 자세한 내용은 재시도 처리를 참고하세요. 문제를 일으키는 발신자는 차단될 수 있습니다.
INTERNAL (HTTP 오류 코드 = 500) 알 수 없는 내부 오류가 발생했습니다. 요청을 처리하려고 시도하는 중에 서버에 오류가 발생했습니다. 재시도 처리의 제안사항에 따라 동일한 요청을 재시도할 수 있습니다. 오류가 계속되면 Firebase 지원팀에 문의하세요.
THIRD_PARTY_AUTH_ERROR (HTTP 오류 코드 = 401) APN 인증서 또는 웹 푸시 인증 키가 잘못되었거나 누락되었습니다. iOS 기기 또는 웹 푸시 등록을 대상으로 하는 메시지를 보낼 수 없습니다. 개발 및 프로덕션 사용자 인증 정보의 유효성을 확인하세요.