我已经创建了一个index.js文件来推送通知,但是它不起作用,也不会引发任何错误。
在云功能的日志中,它没有给我任何错误!
并且我已经使用console.log来打印文档是否不存在但无法打印的信息。
我正在使用Flutter应用,并且使用过firebase_messaging插件。
并且令牌是正确的,那是什么问题?
我的代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.OnLikePost = functions.firestore.document('posts/{postID}/likes/{likedUserID}').onCreate((snapshot, context) => {
const postID = context.params.postID;
const postsCollecRef = admin.firestore().doc('posts/' + postID);
console.log("here");
return postsCollecRef.get()
.then(querySnapshot => {
const promises = [];
const writerID = querySnapshot.data().writerID;
promises.push(admin.firestore().doc(`profile/${writerID}`).get());
return Promise.all(promises);
})
.then(results => {
const tokens = [];
results.forEach(doc => {
if (doc.exists) {
tokens.push(doc.data().tokenID);
} else {
console.log("else");
}
});
const payload = {
"notification": {
"title": "your post has get a like !",
"body": "see it now !",
"sound": "default",
},
"data": {
"sendername": "your post has get a like !",
"message": "see it now !",
}
}
return admin.messaging().sendToDevice(tokens, payload)
})
.catch((err) => {
console.log(err);
console.log("err");
return null;
});
});