Firebase处理推送通知吗?

36

我正在调查Firebase和AngularFire是否适合我的即将开始的项目。

其中一个要求是当有新私人消息发送给用户时,用户需要在应用关闭时得到通知,即推送通知。

Firebase是否可以处理这个要求?


3
这个问题比较笼统,因为发送/接收推送通知的机制取决于你所针对的平台(iOS <> Android <> Chrome)。但总体来说,Firebase的客户端库只有在该客户端处于活动状态时才能运行。因此,当客户端处于非活动状态时,它们将无法接收到更新,但是当客户端再次变为活动状态时,它们将会接收到挂起的更新。 - Frank van Puffelen
1
此外,客户端对“处理”推送通知的工作将由应用程序完成,与Firebase没有太大关系。而“发送”通知只需要一个简单的node.js进程来监听,并通知你所使用的任何技术即可。 - Kato
1
那么我需要一个单独的服务器运行一个进程,监视 Firebase 的更改并通知相关用户吗? - BillyMedia
2
@BillyKhan - 试试Zapier吧。 Zapier可以将您的Firebase数据连接到另一个名为Pushover的服务,以处理向客户端发送推送通知的潜力。 https://zapier.com/zapbook/pushover/firebase/. 基本上,Zapier会监听您Firebase数据的更改,并自动将数据发送到Pushover。 - Mike Pugh
好问题。我想强调一下,问题中提到的场景是由数据更改引发的。FCM - Firebase Cloud Messaging 仅处理由 Firebase 控制台发起的消息。 - AlikElzin-kilaka
显示剩余3条评论
6个回答

34

是的。但直到最近才出现这种情况。

感谢@libik提供相关文档链接:

https://firebase.google.com/docs/cloud-messaging/server#http-request

更新于2016年5月:

在Google io 16上,Google宣布了FCM-Firebase云消息服务。

  

随着Firebase在Google I/O上宣布的扩展,我们还推出了Firebase Cloud Messaging(FCM)和Firebase Notifications(FN)。作为开发人员,您可能可以利用很多更新。

更多信息请参见:https://developers.googleblog.com/2016/05/google-cloud-messaging-and-firebase.html

文档:https://firebase.google.com/docs/cloud-messaging/#key_functions


6
解析器将被停用 :( - guilherme.minglini
很遗憾,那并不是真的。推送通知是一种能够在应用程序不活跃或前台运行的情况下进行通知的功能,但你所描述的只是本地通知,这需要应用程序在运行中才能实现。 - andykkt
仍然不清楚在Firebase中文档中没有说明设备ID在哪里添加。 - Aniket Tiwari
4
你看过关于如何在不使用 Firebase GUI 控制台的情况下发送 Firebase 推送通知的文档吗?可以使用 REST API 或服务器 SDK 实现。 - libik
@asletron - 有关服务器发送 API 的文档:https://firebase.google.com/docs/cloud-messaging/server#http-request - ThisGuy
显示剩余3条评论

11

截至今天,Google I/O已宣布新的Firebase Cloud Messaging服务现在支持发送推送通知。它与Google Cloud Messaging集成,可向上游和下游交付消息!

您可以在此处阅读更多信息:

而Firebase Cloud Messaging的参考文档在此处:


1
@TannerHallman - 你看过如何在没有Firebase GUI控制台的情况下发送Firebase推送通知的文档吗?使用REST API或服务器SDK...? - libik
@libik,你能帮忙提供文档的确切链接吗? - Sagar Mody

10

firebase是一种存储方式。你不会期望存储做任何操作。

对于应用在后台生成本地通知,您可以持续监听firebase的变化,当有变化发生时,您可以生成自己的推送通知。为了节省连接时间,因为您按并发连接收费,您可以每5分钟离线并上线20秒钟。在此期间,firebase sdk将连接到服务器、收集所有更改并运行所有回调。您可以在应用内决定要做什么。

如果您想享受远程推送通知,则需要设置一个服务器来监听firebase上的更改并与APNS进行通信,从而将通知推送到客户端设备。


3
Parse最初是作为“存储”而开始的,但现在已经不断添加了新功能。 我曾完全期望Firebase会作为Parse的竞争对手处理推送通知,但我猜这就是希望和期望带给你的结果吧 :) - Bill Mote
2
哦,另外,自2015年夏天起,谷歌可以处理向Apple和Android平台推送通知的问题。 - Bill Mote
Parse已经死了,所以我希望Firebase能够像Parse一样支持推送通知。 - Trần Trung Hiếu
但我仍然有疑问,我想使用Firebase + Batch将推送通知发送到我的安卓手机,但没有提到如何添加设备ID来发送通知? - Aniket Tiwari

6

它如何发送推送通知,因为我找不到设备ID。 - Aniket Tiwari
我需要提供设备ID,这样才能发送推送通知。 - Aniket Tiwari

5
实际上,今天(2016年5月19日),Google将GCM重新命名为Firebase Cloud Messaging,并且现在提供这个跨平台服务。Firebase还提供通知
这两个服务之间的区别如下:
  • Firebase Cloud Messaging通过其客户端SDK和HTTP和XMPP服务器协议提供完整的消息传递功能集。对于具有更复杂消息需求的部署,FCM是正确的选择。
  • Firebase Notifications是建立在Firebase Cloud Messaging上的轻量级、无服务器的消息传递解决方案。通过用户友好的图形控制台和减少编码要求,Firebase Notifications可让用户轻松地发送消息以重新吸引和留住用户,促进应用程序增长,并支持营销活动。
如果您想要更详细的比较,请阅读this

1
答案是肯定的!
在2017年Firebase发布了Cloud function。您可以使用数据库触发器发送推送通知(使用FCM),即使应用程序已关闭。
如果您感兴趣,我已经为Firebase Cloud Function和Xcode(iOS)创建了一个教程,对于JavaScript而言,代码是相同的:https://www.youtube.com/watch?v=jOJdlvMS6KA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接