我正在使用firebase云功能向特定用户发送通知。这是我从函数发送的有效负载。
var有效负载={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 package:https://pub.dartlang.org/packages/firebase_messaging)接收通知,并且我已经编写了onMessage、onLaunch和onResume方法的代码。
因此,当我使用Admin SDKAdmin.messaging().SendToDevice(token,payload)
发送消息时,它在没有振动和声音的情况下发送消息。我怎样才能给它增加震动和声音呢?现在,那感觉就像是无声的通知。这很容易被用户忽略。在android和ios中,都存在同样的问题。
通知
对象中不存在声音
字段。它属于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文档以获得更多详细信息,您可以在这里看到APN的可用有效负载选项。