Мне нужно получить полный объект, чтобы сделать уведомление с помощью Firebase - PullRequest
0 голосов
/ 12 июня 2019

У меня есть этот код, который работает правильно, но я хочу добавить 'mensaje' в тело уведомления, проблема в том, что я не знаю, как заставить его отправлять его.

Это структура моих данных в базе данных:

введите описание изображения здесь

И это функция:

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

admin.initializeApp(functions.config().firebase);

exports.sendPush = functions.database.ref('/chats/{chat}/{mensaje}/').onWrite((snapshot, context) => {
 nombreChat = context.params.chat;
    return cargarUsuarios(nombreChat).then(usuarios => {
        let tokens = [];
        for (let user of usuarios){
            if(user.token !== undefined){
                console.log('User', "Usuario: " + user.nombre);
                console.log('User token', "Token: " + user.token);

                tokens.push(user.token);
            }
        }
        let payload = {
            notification:{
                title:'Trado GO',
                body: 'Has recibido un nuevo mensaje',
                sound: 'default',
                badge: '1'
            }
        };
        return admin.messaging().sendToDevice(tokens, payload);

    });

});

function cargarUsuarios(chat){
    var arrayParticipantesChat = chat.split(',');
        let dbRef = admin.database().ref('/usuarios');
        let defer = new Promise((resolve, reject) => {
            dbRef.once('value', (snap) => {
                let data = snap.val();
                let usuarios = [];
                for (var property in data){
                    usu=data[property];
                    if(arrayParticipantesChat.includes(usu['nombre'])){
                        usuarios.push(data[property]);
                    }
                }
                resolve(usuarios);
            }, (err) => {
                reject(err);
            });
        });
        return defer;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...