最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在云功能中传递动态参考?

运维笔记admin10浏览0评论

如何在云功能中传递动态参考?

如何在云功能中传递动态参考?

我想使用云功能为特定用户发送推送通知。

这是我的代码:

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

exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => {
const payload = {
    notification: {
        title: 'Test message',
        body: 'Hope you are fine',
        badge: '1',
        sound: 'default',
    }
};

return admin.database().ref('fcmToken').once('value').then(allToken => {
    if(allToken.val()){
        const token = Object.keys(allToken.val());
        return admin.messaging().sendToDevice(token, payload).then(response => {

        });
    }
});
});

但是,如何动态地执行它,即我想为特定用户发送推送通知,此代码将通知发送给所有已注册的用户。因此,帮助我将静态id(db引用)更改为动态(db引用),以及如何在此代码行中传递不同的通知内容:

const payload = {
    notification: {
        title: 'Test message',
        body: 'Hope you are fine',
        badge: '1',
        sound: 'default',
    }
};

有人在那指导我吗?

回答如下:

我动态地实现了它。希望它可以帮助某人。

这是我的代码:

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

exports.sendPushNotification = functions.database.ref('/Users/{id}').onWrite(event => {

var eventSnapshot = event.data;
    var particularUser = eventSnapshot.child('City');
    if (particularUser.changed()) {
      const payload = {
              notification: {
                  title: 'Test message',
                  body: 'Hope you are fine',
                  badge: '1',
                  sound: 'default',
              }
          };

          var getToken = eventSnapshot.child('fcmToken');

                  const token = Object.keys(getToken.val());
                  return admin.messaging().sendToDevice(token, payload).then(response => {

                  });

    }


});

如果要更改通知内容,可以从应用程序端更新后从数据库中获取。

发布评论

评论列表(0)

  1. 暂无评论