Pok*_*Sah 3 java android firebase google-cloud-firestore
有两种类型的应用程序,一种将由用户使用,另一种将由我使用,即所有者.因此,只要有任何用户将内容(数据)添加到Cloud Firestore数据库,我就会收到通知.简而言之,如何在Cloud Firestore数据库发生更改时发送通知?
Ale*_*amo 16
实现此目的的最简单方法是使用Cloud Functions for Firebase.这将帮助您在发生有趣事情时通知用户,在您的情况下,当用户将内容(数据)添加到数据库时.为了使其工作,您需要实施Firebase身份验证.这将有助于您在发生新事件时向特定用户或一组用户发送通知.
因此,请考虑按照以下步骤操作.
首先,实施Firebase Authentication.一旦实现,就创建一个用户集合,其中每个用户将成为用户集合中的文档.您的数据库结构应如下所示:
Firebase-root
|
--- users (collection)
|
--- uid1 (document)
| |
| --- //user properties
|
--- uid2 (document)
|
--- //user properties
Run Code Online (Sandbox Code Playgroud)
除了用户详细信息,您还需要向每个用户添加a tokenId.你可以非常简单地使用以下代码行:
String tokenId = FirebaseInstanceId.getInstance().getToken();
Run Code Online (Sandbox Code Playgroud)
用户文档应如下所示:
uid1 (document)
|
--- userName: "John"
|
--- userEmail: john@email.com
|
--- tokenId: "e_wLukMfq..." //very long token
|
--- //other specific user details
Run Code Online (Sandbox Code Playgroud)
其次,在名为的用户文档中创建一个新的库选notifications,您应该在其中添加需要发送给管理员的所有通知.所需的属性是notification message和sender.用户文档应如下所示:
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
Run Code Online (Sandbox Code Playgroud)
请参阅notifications托管在用户文档下方的集合.
现在您需要使用Node.js来编写一个函数,Cloud Functions该函数将侦听此引用中出现的每个新通知:
"users/{uid}/notifications/{notificationId}"
Run Code Online (Sandbox Code Playgroud)
这是一个关于如何编写Node.js函数的简单示例.
出现新通知后,您可以使用sendToDevice功能并将tokenId通知发送给特定用户.该通知将由Android系统处理,并将显示给用户.请注意,这仅在应用程序处于此状态时才有效background.您还可以在应用程序foreground执行时收到通知FirebaseMessagingService.
| 归档时间: |
|
| 查看次数: |
5990 次 |
| 最近记录: |