2017-07-10 1 views
0

J'ai implémenté Firebase dans mon application pour utiliser son service de notification il y a quelques temps et j'ai décidé d'utiliser sa fonction clé/valeur, mais j'ai réalisé que peu importe ce que j'écris dans ma classe FirebaseMessagingService, rien ne se passe. J'ai donc décidé de supprimer la classe my pour le débobinage, et j'ai toujours reçu des notifications. J'ai donc supprimé le service de messagerie Firebase du manifeste, supprimé le cache de l'application et exécuté le projet, mais je reçois toujours des notifications! La seule façon que je puisse empêcher les notifications de venir est de supprimer la dépendance Firebase dans Gradle. Qu'est-ce qu'il se passe ici?La notification Firebase fonctionne même sans service ou classe héritée?

+0

Je peux vous aider mais vous devez fournir du code, par exemple votre déclaration de service dans 'AndroidManifest.xml'. Et qu'en est-il de vos "notifications": existe-t-il des messages de notification ou des messages avec notification et données utiles? – N0un

Répondre

1

Juste read the documentation.

...

Ok, allons-y: il y a trois types de "notification" à l'aide Firebase: messages de notification, messages de données et messages à la fois la notification et les données. Chacun est reçu et traité différemment par le système. Here vous pouvez voir plus d'informations sur les types de messages (comment ils sont construits).

Il sont traités comme ça:

  • message de notification
    • App au premier plan: onMessageReceived est mise en œuvre
    • App en arrière-plan: barre d'état système (d'expédition du système automatique de notification) ->avec ou sans mise en œuvre du service (peut-être votre cas, sans code je ne peux pas savoir)
  • message de données
    • App au premier plan: 'la mise en œuvre de
    • App en arrière-plan: onMessageReceived' onMessageReceived mise en œuvre de
  • du message à la fois la notification et les données
    • App au premier plan:la mise en œuvre de
    • App en arrière-plan: la zone de notification (notification) et extras de l'intention (données)

Mais sans aucune information de code ou de la notification, je ne peux pas continuer à vous aider . Jusqu'à ce que vous fournissiez un exemple de code, je pense seulement que vous envoyez un message de notification , et que le système affiche automatiquement une notification et qu'il n'y a pas d'appel au service onMessageReceived du service, c'est normal.

Si vous voulez « contrôle » et de décider si la notification doit être affiché ou non, il suffit d'envoyer messages de données, et dans votre mise en œuvre onMessageReceived, créez une notification avec le contenu et l'intention et notify au système (si vous voulez qu'il soit montré).