firebase / firebase/firebase-admin-java
Handle invalid token responses in FCM
- Langage dominant
- Java
- Étoiles
- 620
- Forks
- 305
- Merge moyen
- 3 h 23 min
- PR mergées (30 j)
- 1
Description
As per the [documentation](https://firebase.google.com/docs/cloud-messaging/manage-tokens#ensuring-registration-token-freshness) a token could be invalid if you have two error codes:
- UNREGISTERED (HTTP 404)
- INVALID_ARGUMENT (HTTP 400)
However INVALID_ARGUMENTS can be caused by other errors.
At the moment we receive the content below from the `IncomingHttpResponse` which is also the error message from the `FirebaseMessagingException`. What we do is to check the string of the message in order to delete these tokens.
```
Content: {
"error": {
"code": 400,
"message": "The registration token is not a valid FCM registration token",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError",
"errorCode": "INVALID_ARGUMENT"
}
]
}
}
```
What is the proper way to handle these errors?
Does it make sense to update FirebaseMessagingException to provide more information about which field is invalid or perhaps have a new error code - INVALID_TOKEN? This would remove a lot of unambiguity as to when it is needed to manage the token.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par la documentation liée sur la gestion des tokens Firebase et suivez comment IncomingHttpResponse devient une FirebaseMessagingException. Comparez les réponses UNREGISTERED et INVALID_ARGUMENT dans l’issue, puis déterminez comment l’implémentation doit distinguer les tokens d’enregistrement invalides des autres erreurs INVALID_ARGUMENT sans dépendre des chaînes de caractères des messages.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- backend-api-design
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100