Yupi
Yupi

Reputation: 4470

iOS background notifications using Cloud Functions

I have an issue getting data when app goes in background. I'm using Firebase Cloud functions and I think something I didn't code correctly in NodeJS. I have tried many examples and solutions like putting: content_available: true and priority: 'high' but nothing seems to work. I have to note that:

Notifications are arriving in background and foreground but I can read data from notification in foreground but data is not fetched in background. So there is NO notifications data in background even it is displayed with sound and alert.

I think I'm doing something wrong in data payload so here is my NodeJS method:

var message = {
token: tokenID,
notification: {
title: 'ChatApplication',
body: `${myUsername} send you a message`,

},
android: {
ttl: 3600 * 1000,
notification: {
  icon: 'default',
  sound: 'default',
  click_action: "com.yupi.chatapplication.messaging"
},
data: {
  from_user: user_id,
  title: 'ChatApplication',
  body: `${myUsername} send you a message`
   },
 },
 apns: {
payload: {
  aps: {
    alert: {
      title: 'ChatApplication',
      body: `${myUsername} send you a message`
    },
  badge: 1,
  sound: 'default',
  content_available: true,
  mutable_content: true,
  priority: 'high'
     },
    },
  },
};

return admin.messaging().send(message)
.then((response) => {
  // Response is a message ID string.
return console.log('Successfully sent message:', response);
})
 .catch((error) => {
 return console.log('Error sending message:', error);
 });

Upvotes: 0

Views: 494

Answers (1)

Hiranya Jayathilaka
Hiranya Jayathilaka

Reputation: 7438

The right field names for the Node.js SDK should be contentAvailable and mutableContent: https://firebase.google.com/docs/reference/admin/node/admin.messaging.Aps

Upvotes: 1

Related Questions