颤动通知中不振动

时间:2018-09-22 23:32:52

标签: flutter vibrate

我正在使用Firebase云功能将通知发送给特定用户。这是我从函数中发送的有效载荷。

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 }, };

我正在使用firebase_messaging(flutter软件包:https://pub.dartlang.org/packages/firebase_messaging)来接收通知,并且已经编写了onMessage,onLaunch和onResume方法的代码。

因此,当我使用Admin SDK admin.messaging().sendToDevice(token, payload)发送消息时,它没有振动和声音发送。如何添加振动和声音?现在,感觉就像是一个无声的通知。这将很容易被用户忽略。在android和ios中,都存在相同的问题。

1 个答案:

答案 0 :(得分:1)

sound字段不在notification对象中。它属于androidapns对象。您的有效载荷应如下所示:

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: { ... }
};

我已经填写了Android字段,但是我对APNS负载并不熟悉。查阅FCM文档here了解更多详细信息,您可以看到APNS here可用的有效负载选项。