получить данные из функции броска базы данных в реальном времени - PullRequest
1 голос
/ 16 мая 2019

Я создаю Cloud Functions, отправляю уведомление, которое получает идентификатор пользователя из базы данных в реальном времени и отправляет уведомление на указанное устройство с его токеном.проблема в том, что я не смог получить идентификатор пользователя и токен из базы данных firebase realTime

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendAdminNotification = 
functions.database.ref('/types/{userId}/token').onWrite((change, context) => {
const userId = context.params.val
const token = change.before.val()
console.log("data",token)

const payload = {
    data: {
         data_type: "direct_message",
         title: "Alert" ,
         message: "your animal is out of the zone please check him",
         message_id: "2",

        }
    };
return admin.messaging().sendToDevice(token, payload)

});

1 Ответ

0 голосов
/ 16 мая 2019

Вы пытаетесь прочитать идентификатор пользователя по пути записи данных с помощью этого кода:

functions.database.ref('/types/{userId}/token').onWrite((change, context) => {
  const userId = context.params.val

Чтобы получить параметр из пути, вам нужно использовать context.path.theNameOfTheParameter. Так что в вашем случае это будет context.params.userId.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...