在实时数据库中存储 Firebase 云消息

B. 弗里曼

当您通过 Firebase 控制台发送云消息时,是否可以将该消息的文本作为值存储,并将时间戳作为键存储在同一项目的实时数据库中?如果是这样,如何?我的最终目标是让我的应用程序中的用户看到通知的历史记录和发送时间。谢谢!

B. 弗里曼

由于urgerx 为我指明了正确的方向,我在 Firebase HTTP Cloud Function 中找到了解决方案。调用它的 URL 看起来像这样(空格和标点符号可以作为通知文本):

https://[REGION]-[MY-APP-ID].cloudfunctions.net/notification?password=[PASSWORD]&notification=[NOTIFICATION]

下面是 index.js 文件。我必须在 Android Studio 中编写代码才能为每个设备订阅 all-devices 主题。

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

function format(number) {
  if (number.toString().length < 2) {
    return "0" + number;
  }
  return number;
}

exports.notification = functions.https.onRequest((request, response) => {
    if (request.query.password == "[PASSWORD]") {
        var message = {
            "notification": {
              "body": request.query.notification
            },
            "topic": "all-devices"
        };
        admin.messaging().send(message);
        var nowUTC = new Date();
        var nowEDT = new Date(nowUTC.getFullYear(), nowUTC.getMonth(), nowUTC.getDate(), nowUTC.getHours() - 4, nowUTC.getMinutes(), nowUTC.getSeconds());
        var timestamp = nowEDT.getFullYear() + ":" + format(nowEDT.getMonth()) + ":" + format(nowEDT.getDate()) + ":" + format(nowEDT.getHours()) + ":" + format(nowEDT.getMinutes()) + ":" + format(nowEDT.getSeconds());
        var JSONString = "{\"" + timestamp + "\":\"" + request.query.notification + "\"}";
        admin.database().ref("/notifications").update(JSON.parse(JSONString));
        response.send("Request to server sent to send message \"" + request.query.notification + "\" at timestamp " + timestamp + " and store in database. Await notification and check database if confirmation is needed.");
    } else {
        response.send("Password incorrect. Access denied.");
    }
});

下面是将设备订阅到所有设备主题的代码。

FirebaseMessaging.getInstance().subscribeToTopic("all-devices")
                .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                    }
                });

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

用户注册期间如何在Firebase的实时数据库中存储数据?

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

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

来自分类Dev

Firebase:从实时数据库中检索childByAutoID

来自分类Dev

Firebase-获取下载URL(Firebase存储)并将其保存在Firebase实时数据库中

来自分类Dev

如何从云功能中引用Firebase的实时数据库?

来自分类Dev

Web中的Flutter Firebase实时数据库

来自分类Dev

如果无法从Firebase实时数据库检索数据,则尝试在UITableView上显示消息

来自分类Dev

将Firebase实时数据库数据存储在Firestore中?

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

在使用云功能时,如何使用Firebase Admin SDK更改Firebase实时数据库中的数据?

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

实时数据库消息传递

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

如何更新Firebase实时数据库中的位置?

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

从 Firebase 实时数据库中检索子数据

来自分类Dev

如何在android studio 3.0中连接firebase并通过按钮将数据存储在实时数据库中

来自分类Dev

如何使用云函数在 Firebase 实时数据库中查找特定子项

来自分类Dev

Firebase 实时数据库中的数据插入无限

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

Firebase 实时数据库 fcm 消息发送问题

来自分类Dev

Firebase 实时数据库中的存储大小是如何计算的?

来自分类Dev

从 Firebase 实时数据库中检索好友

来自分类Dev

Firebase 实时数据库,从键值对中获取数据

来自分类Dev

如何从firebase存储获取imageUrl以存储在firebase实时数据库中?

来自分类Dev

如何使用云功能将新数据推送到 firebase 实时数据库?

来自分类Dev

无法从 Firebase 实时数据库中检索数据

Related 相关文章

  1. 1

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

  2. 2

    用户注册期间如何在Firebase的实时数据库中存储数据?

  3. 3

    Firebase实时数据库addValueEventListener

  4. 4

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

  5. 5

    Firebase:从实时数据库中检索childByAutoID

  6. 6

    Firebase-获取下载URL(Firebase存储)并将其保存在Firebase实时数据库中

  7. 7

    如何从云功能中引用Firebase的实时数据库?

  8. 8

    Web中的Flutter Firebase实时数据库

  9. 9

    如果无法从Firebase实时数据库检索数据,则尝试在UITableView上显示消息

  10. 10

    将Firebase实时数据库数据存储在Firestore中?

  11. 11

    Firebase实时数据库-规则

  12. 12

    在使用云功能时,如何使用Firebase Admin SDK更改Firebase实时数据库中的数据?

  13. 13

    Firebase实时数据库addValueEventListener

  14. 14

    实时数据库消息传递

  15. 15

    Android:Firebase实时数据库

  16. 16

    如何更新Firebase实时数据库中的位置?

  17. 17

    Firebase 实时数据库的问题

  18. 18

    从 Firebase 实时数据库中检索子数据

  19. 19

    如何在android studio 3.0中连接firebase并通过按钮将数据存储在实时数据库中

  20. 20

    如何使用云函数在 Firebase 实时数据库中查找特定子项

  21. 21

    Firebase 实时数据库中的数据插入无限

  22. 22

    Firebase 实时数据库帖子

  23. 23

    Firebase 实时数据库 fcm 消息发送问题

  24. 24

    Firebase 实时数据库中的存储大小是如何计算的?

  25. 25

    从 Firebase 实时数据库中检索好友

  26. 26

    Firebase 实时数据库,从键值对中获取数据

  27. 27

    如何从firebase存储获取imageUrl以存储在firebase实时数据库中?

  28. 28

    如何使用云功能将新数据推送到 firebase 实时数据库?

  29. 29

    无法从 Firebase 实时数据库中检索数据

热门标签

归档