云函数event.params返回undefined

时间:2018-01-08 11:48:57

标签: javascript firebase google-cloud-messaging google-cloud-functions

我正在开发一个应用程序,当我的工作地点的用户可以用来在应用程序关闭时通知其他办公室。当发生这种情况时,用户按下应用程序中的按钮,使用标记" red"更新Firebase数据库。更新后,我希望使用云功能向手机发出通知。该应用和Firebase运行良好,但我想知道应用程序的状态已更新。我尝试了event.data.key和event.params.apps,但两者都返回undefined。我究竟做错了什么?这里是数据库结构(不允许在SO上发布图片)和云功能代码: 这是数据库树的图片:

Picture of database tree

const functions = require('firebase-functions');

// The Firebase Admin SDK to access the Firebase Realtime Database. 
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.sendAppUpdate = functions.database.instance('medelsappen').ref('/apps/{appar}').onUpdate(event => {

  //Hämtar status för programmet (red/green)
  const snapshot = event.data.val();
  var appStatus = String(snapshot.status);
  var appData = String(snapshot.key);


  //Hämtar vilket program som uppdaterats
  var app = event.params.appar;
  var app1 = String(app);



  console.log("Aktuell app: ", app1, ", Status; ", appStatus, "appData: ", appData);

  var mess = (app1 + " , ny status: " + appStatus);

var topic = "apps";
var payload = {
    notification: {
      title: "Programstatus uppdaterad",
      body: (mess)
    }
  };

  var options = {
    priority: "high",
    timeToLive: 60 * 60 * 24
  };

admin.messaging().sendToTopic(topic, payload, options)
  .then(function(response) {

    console.log("Lyckades skicka meddelande:", response);
  })
  .catch(function(error) {
    console.log("Fel vid försök att skicka meddelande:", error);
  });

}
);

那时我想知道的是什么;如何获取{appar}参数并将其包含在通知中?目前它只是说" undefined"对于变量 app1 appData

0 个答案:

没有答案