我正在使用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中,都存在相同的问题。
答案 0 :(得分:1)
sound
字段不在notification
对象中。它属于android
和apns
对象。您的有效载荷应如下所示:
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可用的有效负载选项。