【问题标题】:No vibrate in flutter notifications颤振通知中没有振动
【发布时间】:2019-02-26 22:15:12
【问题描述】:

我正在使用 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) 发送消息时,它会在没有振动和声音的情况下发送消息。如何为其添加振动和声音?现在,感觉就像是一个无声的通知。这很容易被用户忽略。安卓和ios都是一样的问题。

【问题讨论】:

  • 您找到问题的答案了吗?我在发送通知时遇到同样的问题,只有声音播放没有振动。
  • @Daniel.V 似乎默认情况下禁用了振动。正在寻找同样的问题...stackoverflow.com/questions/69029951/…
  • @Daniel.V 如果您正在寻找仅适用于 android 通知的快速解决方案,您可以使用此软件包 pub.dev/packages/flutter_local_notifications。如您所见,它可以创建自定义通知通道 (android),包括振动。

标签: flutter vibration


【解决方案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 的可用负载选项。

【讨论】:

  • 我试过这个。但它给了我这个错误。错误:消息负载包含无效的“android”属性。有效属性是“数据”和“通知”。
  • 您是否使用 admin sdk 发送消息?
  • 是的,我正在使用 admin sdk。我也会更新问题。
猜你喜欢
  • 2021-10-31
  • 2021-04-28
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 2021-09-06
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多