我正在编写云函数,因此当添加新名称时,将触发通知。
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来说相对较新,将不胜感激。
答案 0 :(得分:1)
在写入'/name/{pushId}'
时触发您的Cloud Function。但是您的JSON没有显示任何顶级name
键,因此从不调用该函数是有道理的。
在将数据写入/Vendor/{pushId
时,您似乎想触发Cloud Function,因此应将触发声明为:
exports.pushNotification = functions.database.ref('/Vendor/{pushId}')
.onWrite(( change,context) => {
...
这确实是相当基本的Cloud Functions资料,但是我可以想象,如果您以前从未编写过JavaScript,那么很难做到正确。如果您不熟悉JavaScript,则Firebase Cloud Functions并不是学习它的最简单方法。我建议先阅读Firebase documentation for Web developers和/或参加Firebase codelab for Web developer。它们涵盖了许多基本的JavaScript,Web和Firebase交互。您还可以在本地Node.js进程中使用Admin SDK,可以使用本地调试器对其进行调试。在那之后,您也将更有能力为Cloud Functions编写代码。