Javascript 推送通知的firebase云功能不工作
在我的Flatter应用程序中,我已将每个设备令牌保存到firebase数据库中的集合中,并为firebase云函数编写了代码,以便它发送消息(通知)对于订阅了主题并拥有其令牌的每个用户,令牌集合中都有令牌,但当我向订阅的主题添加内容时,它不会发送任何内容,以下是我在索引文件中使用javascrpit的云函数代码:Javascript 推送通知的firebase云功能不工作,javascript,firebase,flutter,dart,google-cloud-functions,Javascript,Firebase,Flutter,Dart,Google Cloud Functions,在我的Flatter应用程序中,我已将每个设备令牌保存到firebase数据库中的集合中,并为firebase云函数编写了代码,以便它发送消息(通知)对于订阅了主题并拥有其令牌的每个用户,令牌集合中都有令牌,但当我向订阅的主题添加内容时,它不会发送任何内容,以下是我在索引文件中使用javascrpit的云函数代码: const functions = require('firebase-functions'); const admin = require('firebase-admin');
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().functions);
var newData;
exports.myTrigger = functions.firestore.document('messages/{messageId}').onCreate(async (snapshot, context) => {
//
if (snapshot.empty) {
console.log('No Devices');
return;
}
newData = snapshot.data();
const deviceIdTokens = await admin
.firestore()
.collection('messages')
.get();
var tokens = [];
for (var tokened of deviceIdTokens.docs) {
tokens.push(tokened.data().token);
}
var payload = {
notification: {
title: 'Push Title',
body: 'Push Body',
sound: 'default',
},
data: {
message: newData.message,
click_action: 'FLUTTER_NOTIFICATION_CLICK',
},
};
try {
const response = await admin.messaging().sendToDevice(tokens, payload);
console.log('Notification sent successfully');
} catch (err) {
console.log(err);
}
});
这是我的数据库结构
以及代币集合:
我做错了什么?试试他的:
我应该写:
'''
'''
对于通过数据库发送消息,我应该在字段中写上“message”,因为我将“data”的键命名为“message”:
const deviceIdTokens = await admin
.firestore()
.collection('tokens')
.get()