确定是否向 Firebase 实时数据库添加或删除数据

鬃毛

每当添加新帖子时,我都会尝试将通知推送到 android 应用程序。但是,只要数据“更改”,即即使删除了我不需要的帖子,通知也会到达。我如何设置条件,以便 FCM 仅在添加帖子时发送通知。这是我的 index.js 文件

const functions = require('firebase-functions');
let admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPush = functions.database.ref('/promos').onWrite(event => {
var topic = "deals_notification";
let projectStateChanged = false;
let projectCreated = true;
let projectData = event.data.val();
if (!event.data.previous.exists()) {
    // Do things here if project didn't exists before
}
if (projectCreated && event.data.changed()) {
    projectStateChanged = true;
}
let msg = "";
if (projectCreated) {
    msg = "A project state was changed";
}
if (!event.data.exists()) {
    return;
  }
let payload = {
        notification: {
            title: 'Firebase Notification',
            body: msg,
            sound: 'default',
            badge: '1'
        }
};

admin.messaging().sendToTopic(topic, payload).then(function(response) {
// See the MessagingTopicResponse reference documentation for the
// contents of response.
console.log("Successfully sent message:", response);
}).catch(function(error) {
console.log("Error sending message:", error);
});
});
弗兰克·范·普费伦

你做错了两件事:

  • 现在,只要在 下写入任何数据就会触发您的函数/promos您希望在编写特定促销时触发它:/promo/{promoid}

  • 您完全忽略了数据是否已经存在:if (!event.data.previous.exists()) {,因此需要将其连接起来。

所以更接近这个:

const functions = require('firebase-functions');
let admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPush = functions.database.ref('/promos/{promoId}').onWrite(event => {
    if (!event.data.previous.exists()) {
        let topic = "deals_notification";
        let payload = {
            notification: {
                title: 'Firebase Notification',
                body: "A project state was changed",
                sound: 'default',
                badge: '1'
            }
        };

        return admin.messaging().sendToTopic(topic, payload);
    }
    return true; // signal that we're done, since we're not sending a message
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何添加 Firebase 实时数据库的删除数据功能

来自分类Dev

Firebase的UI Auth是否与实时数据库连接?

来自分类Dev

如何使用firebase实时数据库检查数据是否已经在html表中?

来自分类Dev

如何从Firebase实时数据库中删除?

来自分类Dev

创建/更新/删除 Firebase 实时数据库规则

来自分类Dev

是否可以在Firebase实时数据库中重命名密钥?

来自分类Dev

在Firebase实时数据库上进行公共读取访问是否安全?

来自分类Dev

是否可以将firebase auth链接到实时数据库

来自分类Dev

设备离线时是否可以访问 Firebase 实时数据库?

来自分类Dev

“removeEventListener”(android)是否关闭 Firebase 实时数据库连接?

来自分类Dev

如何检查 Firebase 实时数据库中是否存在子子项?

来自分类Dev

我的用于 firebase 实时数据库的 POJO 对象是否正确构建?

来自分类Dev

firebase 实时数据库统一包是否支持通用 Windows 平台构建?

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

删除 firebase 实时数据库中的数据时,如何从列表中删除特定项目?

来自分类Dev

React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

来自分类Dev

Firebase实时数据库:在同一时间侦听大量价值事件是否安全?

来自分类Dev

是否可以将本地功能仿真器连接到非本地Firebase实时数据库?

来自分类Dev

在 Android 上的 Firebase 实时数据库中移动数据(复制然后删除)

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

从Firebase实时数据库读取特定数据

来自分类Dev

如何从Firebase实时数据库读取数据

来自分类Dev

Firebase实时数据库读取数据

来自分类Dev

更改Firebase实时数据库数据位置

Related 相关文章

  1. 1

    如何添加 Firebase 实时数据库的删除数据功能

  2. 2

    Firebase的UI Auth是否与实时数据库连接?

  3. 3

    如何使用firebase实时数据库检查数据是否已经在html表中?

  4. 4

    如何从Firebase实时数据库中删除?

  5. 5

    创建/更新/删除 Firebase 实时数据库规则

  6. 6

    是否可以在Firebase实时数据库中重命名密钥?

  7. 7

    在Firebase实时数据库上进行公共读取访问是否安全?

  8. 8

    是否可以将firebase auth链接到实时数据库

  9. 9

    设备离线时是否可以访问 Firebase 实时数据库?

  10. 10

    “removeEventListener”(android)是否关闭 Firebase 实时数据库连接?

  11. 11

    如何检查 Firebase 实时数据库中是否存在子子项?

  12. 12

    我的用于 firebase 实时数据库的 POJO 对象是否正确构建?

  13. 13

    firebase 实时数据库统一包是否支持通用 Windows 平台构建?

  14. 14

    Firebase实时数据库addValueEventListener

  15. 15

    Firebase实时数据库-规则

  16. 16

    Firebase实时数据库addValueEventListener

  17. 17

    Android:Firebase实时数据库

  18. 18

    Firebase 实时数据库的问题

  19. 19

    Firebase 实时数据库帖子

  20. 20

    删除 firebase 实时数据库中的数据时,如何从列表中删除特定项目?

  21. 21

    React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

  22. 22

    Firebase实时数据库:在同一时间侦听大量价值事件是否安全?

  23. 23

    是否可以将本地功能仿真器连接到非本地Firebase实时数据库?

  24. 24

    在 Android 上的 Firebase 实时数据库中移动数据(复制然后删除)

  25. 25

    如何从Firebase中的实时数据库获取数据

  26. 26

    从Firebase实时数据库读取特定数据

  27. 27

    如何从Firebase实时数据库读取数据

  28. 28

    Firebase实时数据库读取数据

  29. 29

    更改Firebase实时数据库数据位置

热门标签

归档