因此,经过大量搜索,我来到了这里。我知道我们可以通过Firebase Cloud Functions做到这一点。因此,我从Javascript和Node.js开始。所以我写了这样的东西:
'use-strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/{teacherId}/{classId}/{notificationId}').onWrite((change, context)=>{
const teacherId = context.params.teacherId;
const classId = context.params.classId;
const notificationId = context.params.notificationId;
return admin.firestore().collection("Users").doc(teacherId).collection("Subjects").doc(classId).get().then(doc=>{
const className = doc.data().Name;
return admin.firestore().collection("Users").where(classId,"==","Added").get().then(queryResult=>{
queryResult.forEach(documentSanpshot =>{
const tokenId = documentSanpshot.data().token;
const payload ={
notification: {
title : "New Announcement",
body : "Subject: "+className,
icon: "default"
}
};
return admin.messaging().sendToDevice(tokenId,payload);
});
return null;
});
});
});
现在,我完全是Javascript和Node(一天的经验)的新手。但是,我想要的是每当值更改或添加到数据库时都需要className
。之后,该组(类)中的用户应收到通知。
我收到此警告:
warning Avoid nesting promises
这是我应该担心的警告吗?使用此代码还可以吗?任何意见表示赞赏。