我想通过在Firebase实时数据库中创建一个条目来触发Flutter App的通知,然后通过触发向该Flutter App发送通知的Cloud Function来自动进行触发。
此过程到目前为止有效。
这是我的CloudFunction:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().functions);
var newData;
exports.myDBTrigger = functions.database.ref('/Messages/{messageID}').onCreate(async (snapshot, context) => {
//
if (snapshot.empty) {
console.log('No Devices');
return;
}
var tokens = ['xyz'];
newData = snapshot.val().message;
console.log(newData);
var payload = {
notification: {
title: 'Push Title',
body: 'Push Body',
sound: 'default',
},
data: {
click_action: 'FLUTTER_NOTIFICATION_CLICK',
message: newData,
},
};
try {
const response = await admin.messaging().sendToDevice(tokens, payload);
console.log('Notification sent successfully');
} catch (err) {
console.log(err);
}
});
所以没什么特别的。我假设必须更改有效负载中的“声音”属性。但是,当我想查看自己有哪些机会时,我认为文档在这一点上是不正确的。 https://firebase.google.com/docs/reference/admin/node/admin.messaging.NotificationMessagePayload#sound
可选声音:用于替换现有字符串的标识符 通知抽屉中的通知。
如果未指定,则每个请求都会创建一个新通知。
如果已指定并且具有相同标签的通知已经在 如图所示,新通知将替换现有通知中的 通知抽屉。
平台:Android
有人可以帮我告诉我必须为声音属性设置什么值,或者通过其他方法不仅可以推送通知,还可以让电话真正响起,以便通知得到更多关注。
谢谢