La FCM notifications et collapse_key

Je suis l'envoi de notifications aux utilisateurs de dispositifs Android bien que le Firebase Notification de la console et je remarque que même si j'envoie 10 différentes notifications alors que l'appareil est en mode hors connexion, une fois que l'utilisateur est en ligne, elle/il va recevoir toutes 10.

Cependant dans Firebase de la documentation, il est indiqué que:

FCM permet à un maximum de quatre différents effondrement par des touches de l'appareil pour être utilisé par le serveur d'application à un moment donné. En d'autres termes, le FCM, le serveur de connexion simultanées peuvent stocker les quatre différents pliable envoyer de messages de synchronisation par périphérique, chacun avec un effondrement de la clé. Si vous dépassez ce nombre, la FCM ne conserve quatre effondrement touches, avec aucune garantie au sujet de ceux qui sont conservés.

Et donc ne devrait pas l'utilisateur de recevoir seulement 4 notifications? Ai-je raté quelque chose? (Je ne suis pas l'extension de la FirebaseMessagingService, je sors de la notification de la manutention de la SDK)

Mise à JOUR: Si vous ne spécifiez pas un effondrement de la clé dans le Firebase notifications de la console, il semble que l'implicite de l'effondrement de la clé est attribuée à la notification et qui est le nom du package de l'application. Je l'ai testé en vérifiant toutes les paires clé/valeur de la getIntent().getExtras() jeu de clés, une fois que j'ai lancer l'application en appuyant sur la notification. Et en effet, je suis un collapse_key clé avec la valeur du nom du paquet, même si je n'ai pas spécifié.

Mise à JOUR 2: j'ai essayé de gérer les notifications par l'extension de la FirebaseMessagingService, pour que je puisse recevoir les messages de notifications de la console, lorsque l'application est au premier plan. Je reçois le message de notification et je manuellement l'affichage d'une notification à l'utilisateur. Et devinez quoi. L'effondrement des clés de l'excellent travail! Je reçois une notification unique, même si j'ai envoyer des notifications multiples avec le même effondrement de la clé. MAIS ce qui se passe n'est évidemment lorsque l'application est au premier plan, parce que le Firebase SDK ne pas appeler le onMessageReceived() lorsque l'application est en arrière-plan, mais au lieu de cela, il traite la déclaration elle-même. Est-ce à dire que c'est un bug de la Firebase SDK? (puisque le problème se produit uniquement lorsque la notification est affichée par le SDK)

Donc, la question reste, pourquoi je reçois tous les 10 notifications depuis chaque notification a le même effondrement de la clé? Peut-être un FCM bug?

Eh bien... Si vos notifications n'ont pas d'effondrement des touches, puis ils ne vont pas s'effondrer.
C'est bien ce que je pensais, mais j'ai lu ceci: stackoverflow.com/questions/39655543/... qui stipule que les notifications ont implicite de l'effondrement de la clé.
Pour des fins de test, je suis juste de désactiver le Wi-Fi pour 1 ou 2 minutes. Je n'ai toujours pas compris, si je ne spécifiez pas un effondrement de la clé, est-il implicite? Ou pas de fermeture à clé, signifie toutes les notifications sont livrés sans s'effondrer?
Merci pour vos commentaires, @AL j'ai testé 1 heure d'intervalle, mais toujours le même. -Ashutosh je suis l'envoi des notifications par le biais de la Firebase console (Notifications compositeur), sans ajouter d'autres touches autres que celles par défaut. -Kato il ya une semaine, j'ai fait quelques tests et j'ai eu certainement utilisé plus de 4 effondrement des clés, mais depuis je ne spécifiez pas un. Pourrait qui ont brisé les notifications?
Hmm. Je pourrais l'essayer sur ma fin, et voir si je pouvais reproduire. En attendant, pourriez-vous aussi essayer d'envoyer le notification des messages à partir de votre Serveur d'Application ou tout simplement utiliser les Facteur ou cURL et de voir de qui fait une différence?

OriginalL'auteur MScott | 2017-06-14