如何在Flatter中使用javascript云函数发送fcm通知?
我已经创建了一个应用程序来测试颤振应用程序中的推送通知 我可以从firebase消息控制台发送通知,也可以在前台和后台接收通知 完成后,我进入下一步,即使用firebase云消息服务自动发送,我使用了javascript,部署了函数,执行起来没有任何问题 但问题是我无法收到这样的通知:- 但是当我打开我的应用程序时,因为我已经在initState()中配置了firebase消息;我可以看到通知和数据被打印出来,但我不能像上面的照片那样接收它如何在Flatter中使用javascript云函数发送fcm通知?,javascript,node.js,firebase,flutter,firebase-cloud-messaging,Javascript,Node.js,Firebase,Flutter,Firebase Cloud Messaging,我已经创建了一个应用程序来测试颤振应用程序中的推送通知 我可以从firebase消息控制台发送通知,也可以在前台和后台接收通知 完成后,我进入下一步,即使用firebase云消息服务自动发送,我使用了javascript,部署了函数,执行起来没有任何问题 但问题是我无法收到这样的通知:- 但是当我打开我的应用程序时,因为我已经在initState()中配置了firebase消息;我可以看到通知和数据被打印出来,但我不能像上面的照片那样接收它 我该怎么办 尝试使用firebase消息传递插件的
我该怎么办 尝试使用firebase消息传递插件的read me文件所述的后台处理程序或顶级方法
关于我的javascript index.js文件: 当一个新文档添加到posts集合时,它会为pushTokens集合中的所有令牌发送一个通知,它会这样做,但问题是我上面提到过 Index.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var notificationMessageData;
exports.fcmTester = functions.firestore.document('posts/{postID}').onCreate((snapshot, context) => {
const notificationMessageData = snapshot.data();
return admin.firestore().collection('pushTokens').get()
.then(snapshot => {
var tokens = [];
if (snapshot.empty) {
console.log('No Devices');
throw new Error('No Devices');
} else {
for (var token of snapshot.docs) {
tokens.push(token.data().tokenID);
}
var payload = {
"notification": {
"title": "from" + notificationMessageData.writer,
"body": "from" + notificationMessageData.name,
"sound": "default"
},
"data": {
"sendername": notificationMessageData.writer,
"message": notificationMessageData.name
}
}
return admin.messaging().sendToDevice(tokens, payload)
}
})
.catch((err) => {
console.log(err);
return null;
})
});
将您的应用程序置于后台,然后再次尝试发送通知。如果您在发送通知时正在使用该应用程序,bcoz Flatter firebase messaging插件将不会创建通知,尽管您可以在中查看其数据,但若用户当前正在使用该应用程序,则必须手动生成通知 在其他情况下,插件将创建通知,如应用程序终止或在后台运行