我的数据库结构如下Collection("Message"(.Document("Message"(
但实际上,我希望在添加文档时,监视数据库主集合中的任何更改。我添加消息文档是因为我认为函数可能没有被调用,因为我的文档是自动生成的。然而,问题仍然存在。。。
只是为了背景,我是一名iOS开发人员,所以也许我在这里做错了什么:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendPushNotifications = functions.database.ref('/Messages/{message}').onCreate((snapshot,context) => {
console.log(snapshot);
console.log(context);
var topic = "/topics/sentMessages";
var payload = {
data: {
message : 'You recieved a new message!'
}
}
return admin.messaging().sendToTopic(topic,payload).then((response) => {
return response;
})
})
对于其他背景:无论是直接到测试设备还是使用主题,应用程序在使用控制台时都会收到推送通知。这个问题在写入firebase Firestore时是严格的。。。
当你说"Collection("Message"(.Document("Message"("时,我建议你使用Firestore作为数据库。然而,您的功能是针对实时数据库的更改,这是一件完全不同的事情。functions.database
为实时数据库构建函数。functions.firestore
为Firestore构建函数。您需要阅读有关Firetore触发器的文档,以了解如何编写它们。