Firebase:检查 JSON 中的更改并自动发送通知

Posted

技术标签:

【中文标题】Firebase:检查 JSON 中的更改并自动发送通知【英文标题】:Firebase: Check for changes in JSON and automatically send notification 【发布时间】:2018-03-06 03:52:00 【问题描述】:

更新:

好的,所以从所有 cmets 中,我确信使用 Firebase 是出于多种原因的最佳解决方案,但是我将如何检查来自 firebase 的 json 文件中的更改 (canceled == yes) 并自动发送通知,如果课程被取消。

示例 JSON 响应:

        
            "class" : "Class",
            "time" : "00:00",
            "trainer" : "T",
            "canceled" : ""
        ,
        
            "class" : "Class",
            "time" : "00:00",
            "trainer" : "T",
            "canceled" : ""
        

初始问题

我正在解析一个 json api,其中一个字段名为 canceled

我希望我的应用程序在canceled 键的值为yes 时设置通知,到目前为止这很容易,只需创建一个简单的通知,如android developer topic,如果canceled == yes 更新@ 987654330@ 然后notify();

这里的问题是如何在应用程序关闭并设置通知后继续检查 json 中的更改?

如果需要,我可以访问服务器并更改 api。

我可以在没有任何第三方服务帮助的情况下执行此操作吗?

【问题讨论】:

运行一个后台服务,该服务将访问服务器并继续检查服务器响应。 @NileshDeokar 我会查看文档,但以前从未这样做过。你能给我一个应该如何做的例子吗?谢谢。 开发一个完整的推送架构可能非常困难,我建议你使用类似firebase.google.com/docs/cloud-messaging @SujalMandal 我查看了 firebase,但由于这是我的通知的唯一用例场景,我认为它可以在不涉及任何第三方服务的情况下完成。 实现这一点的最佳方法是让服务器在发生更改时发送推送通知,使用诸如 firebase 之类的服务。您可以做的另一件事,虽然不是推荐的,是启动一个 android Service 并继续调用 api,并检查响应。服务是可以在后台运行的 android 组件。 【参考方案1】:

正如@Sujal 提到的,在 Android O 中,您对运行后台服务有很长一段时间的限制。所以最好把这个东西移到服务器端。每当状态发生变化时,即每当键 canceled 变为 yes 时,都会向 android 设备发送通知,该通知将显示通知。

参考:https://firebase.google.com/docs/cloud-messaging/ 参考:https://www.codementor.io/flame3/send-push-notifications-to-android-with-firebase-du10860kb

【讨论】:

好的,这看起来很有希望,但是我如何从 firebase 检查我的 json 文件中的更改,并在课程取消时自动发送通知。 更新了我的问题 firebase 中的值如何变化?谁在更新它? 那个 json api 是从我创建的网站生成的,并且值是从 CMS 更改的。当课程被取消时,管理员将 CMS 中的取消字段从 no 更改为 yes,并且 json 得到更新。 是的,那么您必须从 CMS 调用服务器 api,通过该 API 更新值。因此,在同一事件中,您可以添加用于向 android 设备发送通知的代码。

以上是关于Firebase:检查 JSON 中的更改并自动发送通知的主要内容,如果未能解决你的问题,请参考以下文章

在注册 Firebase 之前检查用户名

Firebase 云消息传递无法在某些设备上运行

Firebase 更改 Facebook 帐户

更改 firebase 安全角色

在通过 segue 更改视图之前检查并验证 JSON 数据字符串(iOS 应用程序 - 目标 C)

Swift 从用户向用户发送推送通知 Firebase