微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 推送有关内容更改的通知

假设我有一个Android应用程序,只需构建一个ListView,其内容来自随机REST API.

想象一下,现在我需要在API上有新内容时发送推送通知.最简单的方法是什么?

我对Android上的推送通知过程有点困惑.我查看了Firebase,但我不知道我是否需要Firebase上的数据库存储结果,因为新内容可通过API获得,然后触发数据库更新通知,或者如果我不这样做需要一个数据库

你可以看到它对我来说非常不清楚所以任何帮助都非常感激.谢谢 !

解决方法:

实现此目的的最佳方法是使用Firebase Cloud Functions.这将帮助您在发生有趣事情时通知用户,在您的情况下,当新内容可用时.您可以使用Cloud FirestoreFirebase Realtime Database来实现此目的.在我的回答中,我将使用新的Cloud Firestore来解决这个问题.为此,我重新编写您还实现Firebase Authentication.这将帮助您在发生新事件时向特定用户或一组用户发送通知.

为实现此目的,请考虑按照以下步骤操作.

>实施Firebase身份验证.一旦实现,就创建一个用户集合,其中每个用户将成为用户集合中的文档.您的数据库结构应如下所示:

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

除了用户详细信息,您还需要向每个用户添加tokenId.你可以非常简单地使用以下代码行:

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

用户文档应如下所示:

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

>现在,在名为notification的用户文档中添加一个新的coolection,在每次发生新的事件时,您需要添加需要发送的通知和发件人.它应该看起来像这样:

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

>现在您需要使用Node.js云函数中编写一个函数,该函数将侦听此引用中出现的每个新通知

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

出现新通知后,您可以使用sendToDevice函数和tokenId将通知发送给特定用户.该通知将由Android系统处理,并将显示用户.请注意,这仅在应用程序处于后台时才有效.通过实施FirebaseMessagingService,您还可以在应用程序处于前台时收到通知.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐