Android: Abonnez-vous à Firebase Messagerie en Nuage(FCM) Thème
Selon Firebase messagerie en nuage de la documentation, pour l'inscription d'un utilisateur à un sujet que j'ai besoin d'appeler
FirebaseMessaging.getInstance().subscribeToTopic("news");
- Dans mon application, j'ai besoin de tous les utilisateurs de s'abonner à mon cloud
messagerie sujet. Puisque la valeur de retour estvoid
, la question est de savoir comment
je peux comprendre que l'abonnement a été un succès? - Est-ce une mauvaise pratique pour appeler
subscribeToTopic
à chaque fois que mon
l'application démarre?
Vous devez vous connecter pour publier un commentaire.
Edit:
Vous pouvez maintenant vérifier si l'abonnement est réussie par l'ajout de
addOnSuccessListener()
Original:
Il n'y a rien de mentionné explicitement dans les docs sur une réponse reçue lorsque l'abonnement est réussie.Toutefois, si vous avez besoin de mandat de tous vos utilisateurs de s'abonner à un sujet spécifique, vous devriez appeler le
subscribeToTopic
sur l'application de la première installation. Ce sera probablement assurez-vous que il ya une connexion internet (depuis il a probablement été téléchargé et installé via le Play Store) et l'abonnement à succès.Toutefois, si vous voulez vous assurer que, vous pouvez également gérer il vérifier via votre propre Serveur d'Application. Comme mentionné dans le docs:
Vérifier à travers l'enregistrement des jetons, si elles n'ont pas été correctement subsribed à votre sujet, envoyer une notification à l'endroit où il va déclencher votre client app pour appelersubscribeToTopic
.Edit: Ajout de la section des commentaires: Abonnement sur l'app départ doit être fine.
Merci @FrankvanPuffelen pour vérification. 🙂
subscribeToTopic
va réessayer sur un fond d'être soumis par les services de google ou telle chose (si la connexion internet n'était pas disponible au moment de l'exécution des instructions)?subscribeToTopic()
aussi arrête d'essayer après 20 à 30 secondes, puis l'appareil reste désabonné? Votre reply pour AL n'aborde pas cette éventualité.onTokenRefresh
est inutile puisque lorsqu'un jeton est rafraîchi, de leurs correspondants rubrique abonnements sont reportées.OnSuccessListener
(avecOnFailureListener
,CompleteListener
) n'est jamais appelée, ce qui est triste, depuis que je voudrais savoir, c'est l'abonnement réussie ou pas.J'ai écrit cette fonction et testé. Peut être utile.
N'oubliez pas d'écrire ces lignes ci-dessus onCreate()
addOnSuccessListener
pour confirmer que l'abonnement succès ou pas. J'espère que ce sera utile.