Vikas
Vikas

Reputation: 1143

No vibrate in flutter notifications

I am using firebase cloud functions to send a notification to a particular user. This is the payload that I am sending from the functions.

var payload = { notification: { sound: "default", color: "#ff3296fa", vibrate: "300", priority: 'high', notificationType: "52", title: titleToBeShown, body: message['message'], icon: 'ic_launcher', }, data: { click_action: 'FLUTTER_NOTIFICATION_CLICK', channelId: channelID, channelName: channelName, channelType: channelType }, };

I am using firebase_messaging (flutter package: https://pub.dartlang.org/packages/firebase_messaging) to receive the notifications and I have written the codes for onMessage, onLaunch and onResume methods.

So when I send a message using Admin SDK admin.messaging().sendToDevice(token, payload), it sends it without vibration and sound. How can I add vibration and sound to it? Right now, it feels like a silent notification then. Which will easily be ignored by the users. Both in android and ios, its the same problem.

Upvotes: 4

Views: 3744

Answers (1)

Kirollos Morkos
Kirollos Morkos

Reputation: 2711

The sound field does not go in the notification object. It belongs in the android and apns objects. Your payload should look like this:

var payload = {
  data: {
    channelId: channelID,
    channelName: channelName,
    channelType: channelType
  },
  android: {
    priority: 'high',
    notification: {
      title: titleToBeShown,
      body: message['message'],
      icon: 'ic_launcher',
      sound: 'default',
      color: '#ff3296fa',
      clickAction: 'FLUTTER_NOTIFICATION_CLICK',

      // Not sure what this is supposed to be, but not a valid parameter
      notificationType: '52',
    },
  },
  apns: { ... }
};

I've filled in the Android fields, but I'm not familiar with APNS payloads. Check out the FCM documentation here for more details and you can see the available payload options for APNS here.

Upvotes: 1

Related Questions