Víctor
Víctor

Reputation: 3039

React-native FCM: Can't access notification data when the app is in background or killed

Im am trying to make work react-native-fcm, with firebase cloud messaging and a react-native app.

I am focusing mainly in Android

[email protected]
[email protected]
OS: Android - Emulator - 7.0.2

When my app is in foreground, its working perfectly, I receive the data in this function

FCM.on(FCMEvent.Notification, async (notif) => {

And I can handle everything

image

But when the app is in background, the notification is received, but when I tap the banner, the app goes foreground, the same function is triggered, but the notif object is different, and don't contains my data.

image

When the app is killed, also the notification is received, but when I tap the banner, the app starts, the FCM.getInitialNotification() is triggered, and my notif object doen't also contain the data, the same behaviour than in background

image

I am testing the format of the messages using node-gcm library, of firebase web interface, but nothing works.

This is a sample of my message, but I have tryed tons of combinations:

let message = new gcm.Message({
    priority: 'high',
    content_available: true,
    timeToLive: 3,
    data: {
        key1: 'message1',
        key2: 'message2'
    },
    notification: {
        title: "Hello, World",
        icon: "ic_launcher",
        body: "This is a notification that will be displayed if your app is in the background."
    },
    custom_notification: {
        key1: 'message1',
        key2: 'message2'
    }

});

How should I proceed to send and receive data in those cases? Because is driving me crazy.

If you need more data, ask for it :)

Thanks!!

Upvotes: 7

Views: 3726

Answers (2)

Keyur Chanchad
Keyur Chanchad

Reputation: 1

Issue: I was getting remoteData from messaging().getInitialNotification() and messaging().setBackgroundHandler() also not register. solution: @react-native-firebase, @react-native-firebase/messaging is conflict with @notifee i simplly remove notifee module and it's works for me..

Upvotes: 0

David Rearte
David Rearte

Reputation: 874

in my case, i was missing the notification's data setup when building the notification on foreground notification event firebase.notifications().onNotification

new firebase.notifications.Notification()
      .setNotificationId(fcmNotification.data.notificacionId)
      .setTitle(fcmNotification.title)
      .setBody(fcmNotification.body)
      .setData(fcmNotification.data) // <- this little bastard

so, when tapping the notification data was undefined on firebase.notifications().onNotificationOpened even when the json that comes in firebase.notifications().onNotification had data field filled

Upvotes: 3

Related Questions