使用Firebase实施推送通知的最佳方法

我是iPhone应用程序编码器,并且使用Firebase作为我的后端服务器。 Firebase不支持推送通知,所以我一直在试图弄清楚如何将它们包含在我的应用程序中。 我已经阅读了这个问题: 如何使用Firebase将警报消息发送给特殊的在线用户,但看起来更像是一种解决方法。

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

我试过的一个解决scheme是使用Zapier将Firebase连接到Pushover。

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

有没有人有如何处理这个问题的build议?

谢谢您的帮助!

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

现在,Google将GCM重新命名为Firebase云消息传递 ,现在它提供了此跨平台服务。 Firebase还提供通知 。

这两个服务之间的区别在于:

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

Firebase通知是基于Firebase云消息传递构build的轻量级,无服务器消息传递解决scheme。 借助用户友好的graphics控制台和更低的编码要求,Firebase通知可让用户轻松发送消息,重新定位和保留用户,促进应用程序增长并支持市场营销活动。

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

如果您希望设备到设备推送消息,而不仅仅是服务器到设备,我发现的唯一解决scheme是OneSignal 。 我能够在一个小时左右的时间里为我的应用添加基本的设备到设备推送消息支持,目前它是免费的。

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

有几个select:(好吧,不止一对夫妇,但这里有两个)

parsing处理推送通知非常好 – 他们有这种下来,这是非常简单的。 不过,用户和帐户可能存在问题,具体取决于您的应用的function。

你提到了Pushover。 我们虽然早在API上工作,但不能通过Zapier。 如果我没有记错,我相信你可以简单地注册你的应用程序,发送一个HTTPS:请求到他们的服务器,然后通知发送到你的应用程序。

另外,你可能想要评估你是如何使用push的,因为你可以将类似通知的事件放入应用程序本身。

以下是我从Firebase团队获得的答案:

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

您可以使用任何Firebase客户端或REST API将包含某些数据的对象推送到Firebase中的/ queue / tasks位置。 在该地点收听的工作人员将自动接收和处理工作。 从那里,你的工作人员可以做出一个GCM推送通知。

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

~~~~~~~~~

这是我的分析:

似乎有几个解决scheme,但最好的两个是:

1)在Google云消息传递中使用FirebaseQueue。

2)利用Firebase应用中的Parse中的推送通知function。

我不确定哪个更好。 parsing似乎更加有效,但是Firebase Queue更容易集成到应用程序中(即,拥有Firebase上的所有内容,而无需设置Parse应用程序)

无论如何,我希望这个线程帮助别人!

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

批量

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

我有同样的问题,并设法找出解决scheme。 我在下面的post中详细解释了我的解决schemehttps://stackoverflow.com/a/44192515/7048719和https://stackoverflow.com/a/42240984/7048719

您必须创build一个Firebase数据服务类,并在应用程序进入后台时使用共享实例将观察者保存在内存中。 从那里只要做你想做的事情。