0

Lorsque j'utilisais Parse depuis Facebook, je pouvais tester la notification en cours de développement (c'est-à-dire aucune application sur le Play Store). Mais maintenant j'essaie d'implémenter Firebase dans mon application. Mon application n'est pas encore publiée. J'ai terminé avec la mise en œuvre Android et je suis en train d'envoyer une notification de la console Firebase à mon application. Mais mon appareil ne reçoit jamais la notification. Pourquoi donc? Je cible "Tous les utilisateurs" car Firebase n'a pas de version ou de sujets.Notification de base de données ignorer parfois la méthode onMessageReceived

OKAY

J'ai donc fait un peu plus le dépannage et la voici: mon appareil reçoit des notifications, mais il fait si bizarrement:

  1. lorsque l'application est ouverte et l'utilisateur est interagir avec elle, la notification passe par le chemin prévu d'appeler onMessageReceived. Lorsque l'application est fermée (pas dans les applications récentes non plus), la notification ignore l'appel onMessageReceived et affiche une notification dans la barre d'état.

Mais voici le journal de Firebase quand onMessageReceived est sautée

05-24 07:15:52.842 D/TimaKeyStoreProvider: TimaSignature is unavailable 
05-24 07:15:52.842 D/ActivityThread: Added TimaKeyStore provider 
05-24 07:15:53.102 D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization. 
05-24 07:15:53.132 D/FirebaseApp: Initialized class com.google.firebase.iid.FirebaseInstanceId. 
05-24 07:15:53.142 D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization. 
05-24 07:15:53.222 I/FA: App measurement is starting up, version: 9080 
05-24 07:15:53.222 I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE 
05-24 07:15:53.352 D/FirebaseApp: Initialized class com.google.android.gms.measurement.AppMeasurement. 
05-24 07:15:53.352 I/FirebaseInitProvider: FirebaseApp initialization successful 
05-24 07:15:53.372 D/AlgorithmsProvider: onCreate 
05-24 07:15:53.452 I/FA: Tag Manager is not found and thus will not be used 
+0

vous pouvez tester à tout moment comme analyse. Parse a utilisé la même chose que Firebase – tyczj

+0

J'ai continué à essayer et ça a finalement commencé à fonctionner. Mais je vois un problème. Lorsque mon application est ouverte, la notification est envoyée à FirebaseMessagingService # onMessageReceived (je l'enregistre). Mais si mon application n'est pas ouverte, une notification s'affiche dans la barre d'état de l'appareil, mais l'onMessageReceived ne reçoit jamais d'appel. –

+1

Cela ressemble en effet au comportement attendu pour les notifications. Si vous voulez plus de contrôle sur ce qui se passe, vous devez utiliser Firebase Cloud Messaging (la nouvelle version de GCM). –

Répondre

1

Pour l'affichage de messages (messages avec étiquette de notification), il est le comportement attendu que le onMessageReceived seulement appelé lorsque l'application est sur le premier plan.

Si vous souhaitez utiliser des messages de données (message sans étiquette de notification), vous ne pouvez pas le faire via la console (au moins jusqu'à ce moment). Vous devez créer manuellement une demande de publication sur le serveur FCM. Vous pouvez voir cet exemple de demande de post de réponse à cette question How to handle notification when app in background in Firebase.