[FR] Allow `messaging.subscribe_to_topic` to return more verbose information on failure

Ouverte
#690 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
api, backend

Piste de recherche

Commencez par l’appel à messaging.subscribe_to_topic montré dans l’exemple et comparez sa réponse d’échec aux informations device_id demandées. Vérifiez si unsubscribe_from_topic devrait exposer les mêmes détails. Le travail est considéré comme terminé lorsque les ID d’appareils ayant échoué sont disponibles pour les appelants dans les deux opérations sans perturber le traitement existant des réponses.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

api: messaging needs-triage type: feature request

Is your feature request related to a problem? Please describe.
It frustrates our team that each time our mobile app is updated and our users open the app, a new device_id is generated. We are saving this new device_id to the user, because we can't know for sure that the user haven't just bought a new phone and installed the app into that new phone as well. This leads to the problem that when we subscribe users to a topic, with all their device ids, we get many Errors ['NOT_FOUND', 'NOT_FOUND', 'NOT_FOUND', 'NOT_FOUND', 'NOT_FOUND', 'NOT_FOUND'] returned.

Describe the solution you'd like
We'd like that the API returns a list of failed device_ids so that we can delete those from our database. We'd love to see this extended to messaging.unsubscribe_from_topic as well.

Describe alternatives you've considered
Digging through the firebase code doesn't give any hints that the information we're looking for is discarded in transit.

Additional context
Code example:

from firebase_admin import messaging

def do_subscribe(tokens, topic):
    response = messaging.subscribe_to_topic(tokens, topic)
    if response.failure_count > 0:
        logger.error(
            f"Errors {list(map(lambda e: e.reason, response.errors))}",
            exc_info=False,
        )
Langage dominant
Python
Étoiles
1.2k
Forks
359
Merge moyen
5 j 6 min
PR mergées (30 j)
2

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de firebase/firebase-admin-python

Toutes les issues de firebase/firebase-admin-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.