¿Puede la notificación FCM sobre Android sobreescribir anterior?

Estoy usando FCM para enviar notificaciones a dispositivos Android. Cuando la aplicación está en segundo plano, si envío 10 notificaciones, los dispositivos mostrarán 10 entradas en la barra de notificación.

Quiero que FCM haga sólo una entrada en la barra de notificación, es decir, la más nueva sobrescribirá las anteriores. No encuentro una clave para establecer esto en https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream .

¿Hay una manera de hacer, o es imposible? Gracias.

Es posible. Dos enfoques.

Primero se utiliza el parámetro collapse_key para configurar el mensaje como un mensaje plegable . Haciendo referencia a los documentos FCM :

Un mensaje plegable es un mensaje que puede ser reemplazado por un mensaje nuevo que contenga la misma clave de contracción si aún no se ha entregado al dispositivo.

En realidad, está incluido en el enlace que proporcionaste (primer parámetro bajo Opciones ):

Collapse_key – Este parámetro identifica un grupo de mensajes (p. Ej., Con la función collapse_key: "Actualizaciones disponibles") que se puede contraer, de modo que sólo se envíe el último mensaje cuando se pueda reanudar la entrega. Esto tiene la intención de evitar el envío de demasiados de los mismos mensajes cuando el dispositivo vuelve a estar en línea o se activa.

Tenga en cuenta que no hay garantía del orden en que se envían los mensajes.

Nota: Se permite un máximo de 4 claves de colapso diferentes en un momento dado. Esto significa que un servidor de conexión FCM puede almacenar simultáneamente 4 mensajes diferentes de envío a sincronización por aplicación de cliente. Si excede este número, no hay garantía de que 4 teclas de colapso que el servidor de conexión FCM mantenga.


El segundo enfoque es la agrupación de notificaciones / apilamiento / agrupación. Según mi respuesta aquí :

Al agrupar la notificación, supongo que quieres decir que apile o agregue notificaciones .

Esto es más sobre cómo manejar la notificación en su aplicación de cliente. Simplemente tiene que hacer uso de setGroup () para agregar todas sus notificaciones a un solo grupo llamando notify () para dejar que el NotificationManager de los cambios.

Esto agrega cada notificación a una documentación del grupo casi suma todo para arriba.


Actualizar:

Desde una de las publicaciones enlazadas , el uso del parámetro tag también es una opción:

Identificador utilizado para reemplazar las notificaciones existentes en el cajón de notificaciones.

Si no se especifica, cada solicitud crea una nueva notificación.

Si se especifica y una notificación con la misma etiqueta ya se está mostrando, la nueva notificación reemplaza la existente en el cajón de notificaciones.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.