尝试通过Node.js使用Firebase发送通知时出现ReferenceError

时间:2018-09-14 11:07:37

标签: javascript android node.js firebase-cloud-messaging

因此,我尝试通过Firebase上的功能发送通知。 我正在通过Node.js在JavaScript上进行通知编程。 从一个帐户单击Send Friend Request时,另一个人应该收到我在下面附加的JavaScript文件的有效负载上指定的通知。 我的Firebase函数上不断出现以下错误

  

ReferenceError:事件未定义。

这里是确切错误的image

这是我的JavaScript文件:

/*
 * Functions SDK : is required to work with firebase functions.
 * Admin SDK : is required to send Notification using functions.
 */

//This runs JavaScript in Strict Mode, which prevents the use of things such as undefined variables.
'use strict'

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);


/*
 * 'OnWrite' works as 'addValueEventListener' for android. It will fire the function
 * everytime there is some item added, removed or changed from the provided 'database.ref'
 * 'sendNotification' is the name of the function, which can be changed according to
 * your requirement
 */

exports.sendNotification = functions.database.ref('/Notifications/{retrieveUserId}/{notificationId}').onWrite((data, context) => {


  /*
   * You can store values as variables from the 'database.ref'
   * Just like here, I've done for 'user_id' and 'notification'
   */

  const retrieveUserId = context.params.retrieveUserId;
  const notificationId = context.params.notificationId;

  console.log('User id is : ', retrieveUserId);

  //Prevents notification being sent if there are no logs of notifications in the database.

  if (!event.data.val()) {

    return console.log('A notification has been deleted from the database : ', notificationId);

  }

  const deviceToken = admin.database().ref(`/Users/${retrieveUserId}/device_token`).once('value');

  return deviceToken.then(result => {

    const tokenId = result.val();


    const payload = {
    notification: {
        title: "Friend Request",
        body: "You have received a friend request from Slim Shady",
        icon: "default"
    }
  };

  return admin.messaging().sendToDevice(tokenId, payload).then(response => {

    return console.log('Notification was sent to the user');

  });


  });





});

这是JavaScript文件中所指的Firebase数据库的picture个父母和子女。

由于错误指出未定义事件,因此我试图找出未定义的事件。

这是什么问题?

0 个答案:

没有答案