отправка уведомлений с помощью Firebase Cloud Messaging - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь отправить уведомление пользователям, использующим облачные сообщения Firebase, когда им отправляется запрос на добавление в друзья в моем приложении, с помощью функции ниже, которую я развернул в своих функциях Firebase

'use strict'

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

exports.sendNotification = functions.database.ref('/Notifications/{user_id}/{notifications_id}').onWrite(event => {
	const user_id = event.params.user_id;
	const notifications = event.params.notifications;

	console.log('This User Id is :', user_id);
});

но когда он пытается отправить уведомление, я получаю следующую ошибку в журналах своих функций

 sendNotification
	

TypeError: Cannot read property 'user_id' of undefined
    at exports.sendNotification.functions.database.ref.onWrite.event (/user_code/index.js:8:30)
    at cloudFunctionNewSignature (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:105:23)
    at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:135:20)
    at /var/tmp/worker/worker.js:758:24
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

1 Ответ

0 голосов
/ 22 ноября 2018

Вы должны добавить контекст и получить параметр оттуда.Попробуйте:

            ..'use strict'

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

            exports.sendNotification = functions.database
              .ref('/Notifications/{user_id}/{notifications_id}')
              .onWrite((event, context) => {

                   const user_id = context.params.user_id;
                   const notifications = context.params.notifications;

                  console.log('This User Id is :', user_id);
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...