Saltar al contenido

Firebase en Android: quiero deshabilitar las notificaciones de Firebase en el cliente Android

Solución:

Todavía no podía comentar, pero el comentario de Racs me ayudó mucho.

En realidad, los documentos de Firebase recomiendan usar la inserción de datos en lugar de notificaciones si desea tener un control total sobre cómo se maneja: firebase.google.com/docs/cloud-messaging/… – quote: “Use notificaciones cuando desee que FCM maneje mostrando una notificación en nombre de su aplicación cliente. Utilice mensajes de datos cuando desee que su aplicación maneje la pantalla o procese los mensajes en su aplicación cliente de Android … “

Básicamente, cambié el cuerpo de la solicitud de notificación de inserción de:

{
   "data": {
       "type" : "mytype"
    },
    "notification": {
        "title": "My Title",
        "body": "My Notification Message"
    },
    "to": "/topics/all"
}

Para:

{
   "data": {
       "type" : "mytype",
       "title": "My Title",
       "body": "My Notification Message"
    },
    "to": "/topics/all"
}

Ahora mi aplicación llama a onMessageReceived () cada vez, incluso en segundo plano, y acabo de cambiar los métodos para usar el título y el mensaje de notificación obtenidos en los datos push.

No estoy seguro de por qué le sucede esto (¿tal vez un fragmento de código?), Pero hay una solución definitiva de gran peso: defina su propio receptor c2dm en el manifiesto y establezca la prioridad alta (> 0) y luego detenga el procesamiento de la notificación.

Los mensajes de GCM se procesan como transmisiones ordenadas, por lo que puede detener la cadena de procesamiento llamando a este método:

https://developer.android.com/reference/android/content/BroadcastReceiver.html#abortBroadcast ()

Si no hace nada en su receptor, el siguiente receptor hará el procesamiento, que será el receptor de Firebase.

tenga en cuenta: Firebase está enviando una notificación de inserción para los cambios de Remote Config. Por lo tanto, si usa Remote Config, no es recomendable suprimir ningún envío de datos.

Encuentro la misma pregunta. yo suelo subscribeToTopic API para suscribirse a la notificación.

FirebaseMessaging.getInstance().subscribeToTopic("APP");

Y encuentro la otra API unsubscribeFromTopic Para darse de baja.

FirebaseMessaging.getInstance().unsubscribeFromTopic("APP");

Quizás sería útil para la APLICACIÓN que usa la notificación de temas. No recibiría notificación en primer plano y en segundo plano.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *