我一直试图用. onUpdate()触发器推送通知,但它不起作用。我不知道出了什么问题,因为我在文档上找到的任何东西都毫无用处,这是我第一次和ode.js.一起工作
当任何产品使用Firebase Cloud Functions(在Firebase实时数据库中)更新时,我想通知用户(使用Firebase消息传递),这是在提交订单之后,并且要求产品库存是
集合的结构如下:产品(集合)-
//import firebase
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref('/products/{product}')
.onUpdate((change, context) => {
const prodName = context.data.child('name');
const numProd = context.data.child('stock');
if(numProd<=5){
const payload = {
notification: {
title: 'Low stock!',
body: `Product ${prodName} is running out.`
}
}
const registrationToken = 'token';
return admin.messaging().sendToDevice(registrationToken,payload)
.then(function(response){
console.log('Notification sent successfully:',response);
return 1;
})
.catch(function(error){
console.log('Notification sent failed:',error);
});
}
});
显然,您将Firebase的两个数据库服务:Firestore和实时数据库混为一谈。
事实上,您指出您的数据是在集合中组织的(“集合的结构是这样的:产品(集合)-
但是您的后台触发器与实时数据库触发器相对应,请参阅https://firebase.google.com/docs/functions/database-events.
如果将这两个数据库服务混用的假设是正确的,则需要为Firestore使用后台触发器,请参阅https://firebase.google.com/docs/functions/firestore-events,特别是onUpdate()
one,如下所示:
exports.updateUser = functions.firestore
.document('/products/{productId}')
.onUpdate((change, context) => {
// Get an object representing the document
const newValue = change.after.data();
const prodName = newValue.name;
const numProd = newValue.stock;
// ...
});
请注意,当numProd时,您似乎没有正确处理该情况
观看Firebase视频系列中关于"JavaScript Promises"的3个视频也是一个好主意:https://firebase.google.com/docs/functions/video-series/.
我正在尝试使用FireBase云消息传递。我正在接收令牌,但它没有从控制台收到任何通知。这是我的舱单: 我的代码与示例中的代码几乎相同: 我在这里检查了一个问题,Firebase云消息通知未被设备接收,但仍然无法工作。
添加了从FCM到Facebook的API密钥 但从FB控制台“推送活动设置验证”到有效的“您的设备令牌”-不工作 错误: 无法验证用于发送消息的发件人帐户。这可能是由于无效的项目号作为密钥发送,或者密钥是有效的,但禁用了FCM服务,或者我们的服务器没有在服务器密钥IP中列入白名单。 是什么导致了这些问题?有什么日志我可以看吗?
我必须在SpringJava中为多层架构制作一个RESTAPI,其中需要为Firebase云消息传递(FCM)构建DAO、控制器和服务管理器,以向android应用程序发送推送通知消息,但我无法在Java中配置服务器以向设备发送通知。我怎么能?
我正在使用Firebase消息向iPhone应用程序的用户发送通知。为了不在客户端公开应用程序的消息服务器密钥,我正在使用Firebase的云功能向特定主题发送通知。在此之前,我在应用程序的客户端执行此操作,并能够通过制作以下格式的JSON来设置消息的优先级: 现在在我的云函数中,我试图制作一个相同通用格式的有效载荷,但是一直遇到错误: 以下是我的有效负载格式化和发送: 有谁知道我该如何设定优先级
我正在尝试让Firebase云消息传递正常工作。我现在只是想做个测试。我所做的就是这篇文章的全部内容: https://firebase.google.com/docs/cloud-messaging/js/client?authuser=0#retrieve-the-current-registration-token 然后在最后你会看到这个: 然后我复制这个,并通过访问Firebase(网站)
我试图将Firebase云消息集成到我的应用程序中,以便向用户发送通知。当试图启动应用程序,我得到以下错误: 这在这里发生: 在FIRAuthm. 这是我的大多数应用委托的样子: 发生了什么,我如何修复这个错误? 我试着按照这里的指示去做。。。