Javascript 使用云函数的推送通知不起作用
我正在编写一个云函数,因此当添加新名称时,会触发通知Javascript 使用云函数的推送通知不起作用,javascript,android,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Android,Firebase,Firebase Realtime Database,Google Cloud Functions,我正在编写一个云函数,因此当添加新名称时,会触发通知 const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(); exports.pushNotification = functions.database.ref('/name/{pushId}') .onWrite(( change,context
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.pushNotification = functions.database.ref('/name/{pushId}')
.onWrite(( change,context) => {
console.log('Push notification event triggered');
const payload = {
notification: {
title: 'App Name',
body: "New Vendor added",
sound: "default"
},
};
const options = {
priority: "high",
timeToLive: 60 * 60 * 24 //24 hours
};
return admin.messaging().sendToDevice("notifications", payload, options);
})
我需要对代码进行任何更改还是需要对android应用程序进行更改?
函数将无任何错误地部署。但当我向其中添加数据时,无法观察到云功能中的日志或通知。对JS来说相对较新,我们非常感谢您的帮助。当写入
'/name/{pushId}'
时,您的云函数会触发。但是您的JSON没有显示任何顶级的name
键,因此函数永远不会被调用是有道理的
当数据写入/Vendor/{pushId
时,您似乎希望触发云函数,因此您应该将触发器声明为:
exports.pushNotification = functions.database.ref('/Vendor/{pushId}')
.onWrite(( change,context) => {
...
这确实是非常基本的云函数内容,但我可以想象,如果您以前从未编写过JavaScript,就很难正确编写。如果您是JavaScript新手,Firebase的云函数不是学习它的最简单方法。我建议您先阅读和/或学习。它们涵盖了许多基本的JavaScript、Web和Firebase交互。您还可以在本地Node.js进程中使用Admin SDK,该进程可以通过本地调试器进行调试。之后,您也可以更好地编写云函数的代码。这很有效。现在我明白我犯了什么错误,我一定会仔细阅读您共享的文档。