【问题标题】:Push Notification using Firebase and Google Cloud Messaging使用 Firebase 和 Google Cloud Messaging 推送通知
【发布时间】:2016-02-16 19:08:50
【问题描述】:

我想使用 Google Cloud Messaging 在我的应用程序 (Android) 中发送推送通知。我正在使用firebase作为后端。由于 firebase 不支持内置推送通知,因此我使用的是 Google App Engine。

我对 Google App Engine 没有任何想法。现在我正在使用谷歌提供的模板来发送推送通知。 Google Cloud Messaging Template Github

到目前为止,我已经在 Google App Engine 中部署了我的应用程序,并且我能够向所有注册的设备发送推送通知(来自 Web)当我使用 GCM 模板时获得的 HTML 页面。

我想做的是,监听 Firebase 数据变化并向不在线或已关闭应用的用户发送推送通知。

如何在后台运行 servlet,以便它在后台继续运行并向未在线/未连接的用户发送推送。

由于我在 Google App Engine 中只有推送通知逻辑,我应该使用 servlet 还是 struts。

提前致谢

【问题讨论】:

  • Google“firebase 应用引擎”,第一个提示指向 cloud.google.com 中的this tutorial。它使用 Firebase + App Engine 发送电子邮件通知。因此,将电子邮件代码换成您的 GCM 代码,您就可以开始了。
  • @FrankvanPuffelen 是的,我看到了,但是它让我使用 cron.xml 继续监听 Firebase 中的数据变化,我想它不好。
  • 该教程由一位同时开发应用引擎和 Firebase 的工程师编写。我随时都会接受他的意见而不是我自己的猜测。
  • 从今天(2016 年 5 月 19 日)起,Google 刚刚将 GCM 更名为 Firebase Cloud Messaging,它现在提供 this 作为跨平台服务。它还提供notifications。有关完整答案,请参阅 this 回复。
  • 现在您可以使用您的应用服务器和 Firebase 向所有或特定设备/用户发送推送通知。有关工作示例,请访问此博客文章。 codingaffairs.blogspot.com/2016/06/…

标签: android google-app-engine firebase


【解决方案1】:

据我了解,Firebase 确实不能很好地与 GAE 配合使用,因此您可能需要重新考虑您的选择。

正如您所提到的,侦听数据更改要求您的应用程序让后台线程运行。要在 GAE 上执行此操作,您必须禁用自动缩放,这是 GAE 的一个重要功能。

您可以使用手动缩放创建一个单独的后端 GAE 模块,然后使用它。一个队列来通知您的主要 GAE 模块数据更改,但这在我看来是不必要的复杂和低效。

希望 Firebase 能够改进他们的产品,以便以更高效、更灵活的方式通知数据更改,但与此同时,也许您应该使用常规计算引擎实例。

【讨论】:

  • 谢谢汤姆。你说要使用任何常规的计算引擎,你有什么想法可以与 Firebase 搭配使用吗
  • 我认为 google 使用 Firebase 的目标之一是让它在任何语言/平台上都能很好地工作,但可能是最容易使用的计算引擎,并且因为你用“android”标记了它,可能对你坚持 Java。
猜你喜欢
  • 2016-06-24
  • 2022-12-14
  • 2017-09-12
  • 1970-01-01
  • 2014-09-27
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多