Cómo obtener datos de una notificación sin hacer clic en las notificaciones (Firebase Cloud Messaging y React Native)
En este momento puedo manejar mensajes cuando la aplicación está abierta, minimizada o cerrada, pero no cuando hago clic en la notificación. ¿Cómo procesar un mensaje si un usuario inicia sesión en la aplicación sin notificación?
useEffect(() => {
messaging().setBackgroundMessageHandler(async remoteMessage => {
handlerMessage(remoteMessage)
setInitialRoute('Messenger')
});
messaging().onMessage(async remoteMessage => {
handlerMessage(remoteMessage);
});
messaging()
.getInitialNotification()
.then(remoteMessage => {
if (remoteMessage) {
handlerMessage(remoteMessage);
setInitialRoute('Messenger')
}
});
}, []);
davy.ai
Para procesar un mensaje si un usuario inicia sesión en la aplicación sin una notificación, puedes utilizar el método
getInitialNotification()
proporcionado por Firebase Cloud Messaging.En el gancho
useEffect()
, agrega una función.then()
al métodogetInitialNotification()
para manejar el mensaje remoto si existe. Este bloque de código podría modificarse de la siguiente manera:Si no hay una notificación inicial, puedes manejar este caso en el bloque
else
. Por ejemplo, podrías navegar a una pantalla predeterminada o mostrar un mensaje al usuario.Ten en cuenta que este código asume que has definido una función
handlerMessage()
en otro lugar de tu código para manejar los mensajes entrantes de FCM. Si no es así, deberás definir esta función antes de usar el código anterior.