gpt4 book ai didi

java - 每当 Firebase Firestore Android 发生变化时如何实现通知?

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:41 25 4
gpt4 key购买 nike

有两种类型的应用程序,一种将由用户使用,另一种将由我(即所有者)使用。因此,每当任何用户向 Cloud Firestore 数据库添加内容(数据)时,我都希望收到通知。简而言之,当 Cloud Firestore 数据库发生变化时,如何发送通知?

最佳答案

实现此目的的最简单方法是使用 Cloud Functions for Firebase .这将帮助您在发生有趣的事情时通知用户,在您的情况下,当用户将内容(数据)添加到数据库时。为了让它工作,你需要实现 Firebase Authentication .这将帮助您在发生新情况时向特定用户或一组用户发送通知。

因此,请考虑按照以下步骤操作。

首先,实现Firebase 身份验证。一旦实现,就创建一个用户集合,其中每个用户都是用户集合中的一个文档。您的数据库结构应如下所示:

Firebase-root
|
--- users (collection)
|
--- uid1 (document)
| |
| --- //user properties
|
--- uid2 (document)
|
--- //user properties

除了用户详细信息,您还需要为每个用户添加一个tokenId。您可以使用以下代码行非常简单地获得它:

String tokenId = FirebaseInstanceId.getInstance().getToken();

一个用户文档应该是这样的:

uid1 (document)
|
--- userName: "John"
|
--- userEmail: john@email.com
|
--- tokenId: "e_wLukMfq..." //very long token
|
--- //other specific user details

其次,在名为 notifications 的用户文档中创建一个新集合,您应该在其中添加需要发送给管理员的所有通知。所需的属性是 notification messagesender。用户文档应如下所示:

    uid1 (document)
|
--- userName: "John"
|
--- userEmail: john@email.com
|
--- tokenId: "e_wLukMfq..." //very long token
|
--- notifications (collection)
| |
| --- notificationId1
| |
| --- notificationMessage: "My Notification"
| |
| --- fromUser: "My Notification"
|
--- //other details

请查看托管在用户文档下方的嵌套通知 集合。

现在你需要使用Node.jsCloud Functions 中编写一个函数,该函数将监听此引用中出现的每个新通知:

    "users/{uid}/notifications/{notificationId}"

Here 是如何编写 Node.js 函数的简单示例。

一旦出现新通知,您可以使用sendToDevice 函数和tokenId 将通知发送给特定用户。通知将由 Android 系统处理并显示给用户。请注意,这仅在应用程序处于 background 时有效。通过实现 FirebaseMessagingService,您也可以在应用程序处于 foreground 时接收通知。

我也在我的 tutorials 中解释过 一步一步来,你怎么能 send notifications 根据需要。

关于java - 每当 Firebase Firestore Android 发生变化时如何实现通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51203148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com