12

我是一名 iPhone 应用程序编码员,我使用 Firebase 作为我的后端服务器。Firebase 不支持推送通知,所以我一直试图弄清楚如何将它们包含在我的应用程序中。我读过这个问题:How to send an alert message to a special online user with firebase,但这似乎更像是一种变通方法,而不是实际的解决方案。

有没有关于如何做到这一点的答案?是否有第三方或 API 可以无缝实现此功能?

我尝试过的一种解决方案是使用 Zapier 将 Firebase 连接到 Pushover。

在这一点上,我已经能够观察我正在编码的应用程序中的事件,然后在我的 iPhone 上的推送应用程序中获得通知。但是,理想情况下,我希望在我的应用程序中接收通知,而不是在 pushover 应用程序中,因为我不希望用户需要通过 pushover 才能使用我的应用程序,并且我希望用户收到他们自己独特的通知,而不是针对所有人的通知。

有人对我应该如何处理这个问题有建议吗?

谢谢您的帮助!

编辑 这不是这个问题的重复: Firebase 是否处理推送通知?因为我知道 Firebase 不直接处理推送通知。我正在寻找使用 Firebase 处理推送通知的最佳间接方式。

4

7 回答 7

13

现在谷歌将 GCM 更名为Firebase Cloud Messaging,它现在提供这种跨平台服务。Firebase 还提供通知

这些是这两种服务之间的区别:

Firebase 云消息传递通过其客户端 SDK 以及 HTTP 和 XMPP 服务器协议提供一整套消息传递功能。对于具有更复杂消息传递要求的部署,FCM 是正确的选择。

Firebase Notifications 是基于 Firebase 云消息传递的轻量级、无服务器消息传递解决方案。借助用户友好的图形控制台和降低的编码要求,Firebase 通知让用户可以轻松发送消息以重新吸引和留住用户、促进应用增长并支持营销活动。

如果你想要更详细的比较。读这个

于 2016-05-23T01:25:08.763 回答
7

如果您希望设备到设备推送消息而不仅仅是服务器到设备,我找到的唯一解决方案是OneSignal。我能够在大约一个小时内为我的应用程序添加基本设备到设备推送消息支持,并且它目前是免费的。

Batch 和 Firebase 都只支持服务器到设备的推送消息,而不是你想要的聊天应用程序

于 2016-06-29T21:14:58.977 回答
2

有几个选项:(嗯,不止几个,但这里有两个)

Parse 非常好地处理推送通知 - 他们有这种感觉,而且非常简单。但是,您可能会遇到用户和帐户问题 - 取决于您的应用程序的用途。

你提到了Pushover。我们之前使用过他们的 API,但不是通过 Zapier。如果我没记错的话,我相信你可以简单地注册你的应用程序,向他们的服务器发送一个 HTTPS: 请求,然后从你的应用程序发送通知。

此外,您可能想要评估您是如何使用推送的,因为您可以将类似通知的事件滚动到应用程序本身。

于 2016-01-07T19:07:33.793 回答
1

这是我从 Firebase 团队得到的答案:

Firebase 目前没有推送通知功能。您可以使用 Firebase Queue 和 GCM 在您的应用中实现推送通知。队列可在您的 Firebase 应用中用于组织工作人员或执行后台工作,例如生成图像缩略图、过滤消息内容和审查数据,或将数据散播到 Firebase 数据库中的多个位置。Google Cloud Messaging (GCM) 是一项免费服务,使开发人员能够在服务器和客户端应用程序之间发送消息,它在 iOS 和 Android 中均可用。

您可以使用任何 Firebase 客户端或 REST API 将包含一些数据的对象推送到 Firebase 中的 /queue/tasks 位置。在该位置收听的工作人员将自动接听并处理工作。由此,您的工作人员可以发出 GCM 推送通知。

(来自 Firebase 团队的消息结束)

~~~~~~~~~

以下是我的分析:

似乎有一些解决方案,但最好的两个是:

1) 将 FirebaseQueue 与 Google 云消息传递一起使用。

2) 在 Firebase 应用程序中利用 Parse 中的推送通知功能。

我不确定哪个更好。Parse 似乎更加成熟,但 Firebase Queue 更容易集成到应用程序中(即,在 Firebase 上拥有一切,而不必设置 Parse 应用程序,这很好)

无论如何,我希望这个线程可以帮助其他人!

于 2016-01-09T01:32:08.577 回答
1

刚刚意识到他们已经出来了:

于 2016-04-04T01:54:48.693 回答
1

Firebase 现在内置了通知。 https://firebase.google.com/docs/notifications/

于 2016-05-25T13:34:55.437 回答
0

我遇到了同样的问题,不久前设法找到了解决方案。我在以下帖子中详细介绍了我的解决方案https://stackoverflow.com/a/44192515/7048719https://stackoverflow.com/a/42240984/7048719

当应用程序进入后台时,您必须创建一个 firebase 数据服务类并使用共享实例将观察者保存在内存中。从那里开始,做你想做的事就行了。

于 2017-08-03T15:29:32.800 回答