Fehlercodes für FCM-Fehlerbedingungen.
Fehlercode | Beschreibung und Lösungsschritte |
---|---|
UNSPECIFIED_ERROR Zu diesem Fehler sind keine weiteren Informationen verfügbar. | Keiner. |
INVALID_ARGUMENT (HTTP-Fehlercode = 400) Die Anforderungsparameter waren ungültig. Eine Erweiterung vom Typ google.rpc.BadRequest wird zurückgegeben, um anzugeben, welches Feld ungültig war. | Mögliche Ursachen sind eine ungültige Registrierung, ein ungültiger Paketname, eine zu große Nachricht, ein ungültiger Datenschlüssel, eine ungültige TTL oder andere ungültige Parameter. Ungültige Registrierung : Überprüfen Sie das Format des Registrierungstokens, das Sie an den Server übergeben. Stellen Sie sicher, dass es mit dem Registrierungstoken übereinstimmt, das die Client-App durch die Registrierung bei FCM erhält. Kürzen Sie das Token nicht und fügen Sie keine zusätzlichen Zeichen hinzu. Ungültiger Paketname : Stellen Sie sicher, dass die Nachricht an ein Registrierungstoken adressiert war, dessen Paketname mit dem in der Anfrage übergebenen Wert übereinstimmt. Nachricht zu groß : Stellen Sie sicher, dass die Gesamtgröße der in einer Nachricht enthaltenen Nutzdaten die FCM-Grenzwerte nicht überschreitet: 4096 Byte für die meisten Nachrichten oder 2048 Byte bei Nachrichten zu Themen. Dazu gehören sowohl die Schlüssel als auch die Werte. Ungültiger Datenschlüssel : Stellen Sie sicher, dass die Nutzdaten keinen Schlüssel (z. B. „from“ oder „gcm“ oder einen beliebigen von Google vorangestellten Wert) enthalten, der intern von FCM verwendet wird. Beachten Sie, dass einige Wörter (z. B. „collapse_key“) auch von FCM verwendet werden, aber in der Nutzlast zulässig sind. In diesem Fall wird der Nutzlastwert durch den FCM-Wert überschrieben. Ungültige TTL : Überprüfen Sie, ob der in ttl verwendete Wert eine Ganzzahl ist, die eine Dauer in Sekunden zwischen 0 und 2.419.200 (4 Wochen) darstellt. Ungültige Parameter : Überprüfen Sie, ob die angegebenen Parameter den richtigen Namen und Typ haben. |
UNREGISTERED (HTTP-Fehlercode = 404) Die Registrierung der App-Instanz bei FCM wurde aufgehoben. Dies bedeutet in der Regel, dass der verwendete Token nicht mehr gültig ist und ein neuer verwendet werden muss. | Dieser Fehler kann durch fehlende oder nicht registrierte Registrierungstoken verursacht werden. Fehlende Registrierung : Wenn das Ziel der Nachricht ein token ist, prüfen Sie, ob die Anfrage ein Registrierungstoken enthält.Nicht registriert : Ein vorhandener Registrierungstoken kann in einer Reihe von Szenarien seine Gültigkeit verlieren, darunter: – Wenn die Client-App die Registrierung bei FCM aufhebt. – Wenn die Client-App automatisch abgemeldet wird, was passieren kann, wenn der Benutzer die Anwendung deinstalliert. Beispielsweise unter iOS, wenn der APNs-Feedback-Dienst das APNs-Token als ungültig gemeldet hat. – Wenn das Registrierungstoken abläuft (z. B. könnte Google beschließen, die Registrierungstoken zu aktualisieren, oder das APNs-Token ist für iOS-Geräte abgelaufen). – Wenn die Client-App aktualisiert wird, die neue Version jedoch nicht für den Empfang von Nachrichten konfiguriert ist. Entfernen Sie in all diesen Fällen dieses Registrierungstoken vom App-Server und verwenden Sie es nicht mehr zum Senden von Nachrichten. |
SENDER_ID_MISMATCH (HTTP-Fehlercode = 403) Die authentifizierte Absender-ID unterscheidet sich von der Absender-ID für das Registrierungstoken. | Ein Registrierungstoken ist an eine bestimmte Gruppe von Absendern gebunden. Wenn sich eine Client-App für FCM registriert, muss sie angeben, welche Absender Nachrichten senden dürfen. Sie sollten eine dieser Absender-IDs verwenden, wenn Sie Nachrichten an die Client-App senden. Wenn Sie zu einem anderen Absender wechseln, funktionieren die vorhandenen Registrierungstokens nicht. |
QUOTA_EXCEEDED (HTTP-Fehlercode = 429) Das Sendelimit für das Nachrichtenziel wurde überschritten. Es wird eine Erweiterung vom Typ google.rpc.QuotaFailure zurückgegeben, um anzugeben, welches Kontingent überschritten wurde. | Dieser Fehler kann durch ein überschrittenes Nachrichtenratenkontingent, ein überschrittenes Gerätenachrichtenratenkontingent oder ein überschrittenes Themennachrichtenratenkontingent verursacht werden. Nachrichtenrate überschritten : Die Senderate der Nachrichten ist zu hoch. Sie müssen die Gesamtrate reduzieren, mit der Sie Nachrichten senden. Verwenden Sie einen exponentiellen Backoff mit einer anfänglichen Mindestverzögerung von 1 Minute, um abgelehnte Nachrichten erneut zu versuchen. Gerätenachrichtenrate überschritten : Die Nachrichtenrate an ein bestimmtes Gerät ist zu hoch. Siehe Beschränkung der Nachrichtenrate auf ein einzelnes Gerät . Reduzieren Sie die Anzahl der an dieses Gerät gesendeten Nachrichten und verwenden Sie den exponentiellen Backoff, um den Versand erneut zu versuchen. Themennachrichtenrate überschritten : Die Nachrichtenrate an Abonnenten zu einem bestimmten Thema ist zu hoch. Reduzieren Sie die Anzahl der für dieses Thema gesendeten Nachrichten und verwenden Sie einen exponentiellen Backoff mit einer anfänglichen Mindestverzögerung von 1 Minute, um den Versand erneut zu versuchen. |
UNAVAILABLE (HTTP-Fehlercode = 503) Der Server ist überlastet. | Der Server konnte die Anfrage nicht rechtzeitig verarbeiten. Versuchen Sie dieselbe Anfrage erneut, aber Sie müssen: – Berücksichtigen Sie den Retry-After-Header, wenn er in der Antwort vom FCM-Verbindungsserver enthalten ist. - Implementieren Sie einen exponentiellen Backoff in Ihrem Wiederholungsmechanismus. (Wenn Sie beispielsweise eine Sekunde vor dem ersten Wiederholungsversuch gewartet haben, warten Sie mindestens zwei Sekunden vor dem nächsten, dann 4 Sekunden usw.). Wenn Sie mehrere Nachrichten senden, sollten Sie die Anwendung von Jitter in Betracht ziehen. Weitere Informationen finden Sie unter Umgang mit Wiederholungsversuchen . Absender, die Probleme verursachen, laufen Gefahr, auf die Sperrliste gesetzt zu werden. |
INTERNAL (HTTP-Fehlercode = 500) Ein unbekannter interner Fehler ist aufgetreten. | Beim Versuch, die Anfrage zu verarbeiten, ist auf dem Server ein Fehler aufgetreten. Sie können dieselbe Anfrage erneut versuchen, indem Sie den Vorschlägen unter „Wiederholungen behandeln“ folgen . Wenn der Fehler weiterhin besteht, wenden Sie sich bitte an den Firebase-Support. |
THIRD_PARTY_AUTH_ERROR (HTTP-Fehlercode = 401) Das APNs-Zertifikat oder der Web-Push-Authentifizierungsschlüssel war ungültig oder fehlte. | Eine an ein iOS-Gerät oder eine Web-Push-Registrierung gerichtete Nachricht konnte nicht gesendet werden. Überprüfen Sie die Gültigkeit Ihrer Entwicklungs- und Produktionsnachweise. |