没有收到云功能发送的通知

时间:2020-05-22 22:17:32

标签: javascript firebase google-cloud-functions firebase-cloud-messaging

在“通知”下进行更改后,我试图向每个“设备”的“用户”列表中的所有用户发送通知。我知道该应用程序正在运行,因为当我在浏览器中手动进行操作时,会收到通知。

数据库的外观如下:

This is how the DB look like

云功能:

const functions = require('firebase-functions');
const admin = require('firebase-admin');  // this is the Admin SDK, not firebase-functions

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

const db = admin.database()
const ms = admin.messaging()

exports.notifications = functions.database.ref('Notifications/{id}').onUpdate(async(evt) =>{


const payload = {
    notification:{
        title   : 'Alarma se activó tu cerca',
        body    : 'Se activó tu cerca, revisala',
        badge   : '1',
        sound   :'defaul'   
    }
};

//Get Notification Device ID
const notySnap = await db.ref('Notification/').once('value');

var devicee = notySnap.notty;
var dev = JSON.stringify(devicee);



//Get number of users that the device had
const usersSnap = await db.ref('Devices/'+ dev + '/Users').once('value')
const nUsers = usersSnap.nUsers;
var Nusers = JSON.stringify(nUsers);
var nNUsers = parseInt(Nusers);



//Send notification to the number of users that exist
if (Nusers !== null){
    for(i = 0; 1 <=nNUsers; i++){
        if(i === 1){
            const userToSendP1 = usersSnap.user1;
            var userToSend1 = JSON.stringify(userToSendP1);
            Console.log("Mensaje enviado a user 1");

        }else if(i === 2){
            const userToSendP2 = usersSnap.user2;
            var userToSend2 = JSON.stringify(userToSendP2);
            Console.log("Mensaje enviado a user 2");

        }else if(i === 2){
            const userToSendP3 = usersSnap.user3;
            var userToSend3 = JSON.stringify(userToSendP3);
            Console.log("Mensaje enviado a user 3");

        }else if(i === 2){
                const userToSendP4 = usersSnap.user4;
                var userToSend4 = JSON.stringify(userToSendP4);
                Console.log("Mensaje enviado a user 4");

            }
        }
    }
  return null;
})

0 个答案:

没有答案