FCM Flutter开启通知震动。

3

我正在为Android和IOS开发Flutter应用程序。根据这篇文章,我已经为Android创建了通知渠道。

我的node.js有效载荷:

const payload = {
      notification: {
        title: "title",
      },
      android: {
        priority: "high",
        ttl: 60 * 60 * 1,
        notification: {
          channel_id: 'YO',
        },
      },
      apns: {
        payload: {
          aps: {
            sound: "sound_03.caf"
          }
        },
        headers: {
          "apns-collapse-id": "yo",
          "apns-priority": "10"
        }
      },
      priority: 10
    }

我的通知在Android和IOS平台上都可以正常工作。问题在于,默认情况下振动被禁用了。

如何为Firebase Cloud Messaging启用Android和IOS的通知振动?

2个回答

2
您可以将sound属性设置为default,这样如果启用了声音,它就会使用默认的声音,如果设备处于振动状态,则会震动。

您可以将负载更新为:

const payload = {
  notification: {
    title: "title",
    sound: "default"
  },
  android: {
    priority: "high",
    ttl: 60 * 60 * 1,
    notification: {
      channel_id: 'YO',
    },
  },
  apns: {
    payload: {
      aps: {
        sound: "default"
      }
    },
    headers: {
      "apns-collapse-id": "yo",
      "apns-priority": "10"
    }
  },
  priority: 10
}

谢谢@Victor Eronmosele。我刚刚在我的手机上检查了一些使用默认声音的应用程序,有些是振动的,有些则不是。我该如何确保“默认”声音振动? - genericUser

0

对我来说,我只需要将它添加到消息负载的notification部分。

以下是在Typescript中的样子(但是只有消息JSON才是重要的)。

let tokens = ...
let message = {
    message: {
        notification: {
            title: title,
            body: body,
            sound: 'default', // <----- All I needed
        },
        data: {
            ...
        },
    }
}

firebase.messaging().sendToDevice(tokens, message)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接