База данных push-уведомлений от устройства к устройству - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть приложение для Android, и я хочу, чтобы люди (прошедшие проверку) отправляли push-уведомления друг другу из окна сообщения.Я использую node.js с облачными функциями Firebase, и я получил это ошибка в журналах:

TypeError: Невозможно прочитать свойство 'userId' из неопределенного в exports.sendNotification.functions.database.ref.onWrite.event (/user_code/index.js:10:33) ...

Сообщение успешно записывается в базу данных в реальном времени, но уведомление не доставляется вполучатель (пользователь).

Я прочитал так много документов и одних и тех же / похожих проблем, поэтому я знаю, что существует так много тем, связанных с этим, но я не смог решить эту проблему.Я использую index.js в качестве исходного кода, но изменил некоторые части, такие как раздел onWrite, в соответствии с документами, которые я прочитал.

Ошибка указывает эту строку в следующем коде: const receiverId = context.params.userId; Что-то в параметрах не работает.Вот небольшая часть кода (с моими изменениями):

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

exports.sendNotification = functions.database.ref('/messages/{userId}/{messageId}').onWrite((change,context) => {

//get the userId of the person receiving the notification because we need to get their token
const receiverId = context.params.userId;
console.log("receiverId: ", receiverId);

//get the user id of the person who sent the message
const senderId = change.child('user_id').val();
console.log("senderId: ", senderId);

//get the message
const message = change.child('message').val();
console.log("message: ", message);

//get the message id. We'll be sending this in the payload
const messageId = context.params.messageId;
console.log("messageId: ", messageId);

...

1 Ответ

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

Получите последнюю версию узла И посмотрите на это: https://firebase.google.com/docs/functions/database-events#handle_event_data для использования onWrite (событие ...) и onCreate (.....) Это поможет вам

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