如何从Firebase扑扑地发送推送通知

时间:2020-06-29 14:13:56

标签: node.js firebase google-cloud-functions firebase-cloud-messaging

我正在做一个项目,当用户更改数据时,该项目应显示一条有关您的数据更改的通知。为此,我使用了云消息传递和firebase的功能,但是问题是,每当我更改特定用户的数据时,通知不仅会传递给每一个设备,更会通知每台设备,我希望当我更改特定用户的数据时通知仅应发送而不是所有人。请帮忙!

这是Firebase云功能代码

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

exports.helloWorld = functions.database.ref('reports/{id}').onWrite(evt => {

    const payload = {
        notification:{
            title : 'Request Reviewed',
            body : 'Your Request has been reviewed please click to see the changes',
            badge : '1',
            sound : 'default'
        }
    };
return admin.database().ref('reports').once('value').then(allToken => {
        if(allToken.val()){
            console.log('token available');
            const token = Object.keys(allToken.val());
            return admin.messaging().sendToDevice(token,payload);
        }else{
            console.log('No token available');
        }
    });
});

当我更改数据中的任何内容时,通知会发送到所有设备,我不希望当我更改特定用户的数据库中的数据时,通知仅应发送给该特定用户。

0 个答案:

没有答案