使用Firebase和后台运行实现预定通知

3
我希望我的Firebase可以向应用程序所有用户发送定时推送通知,如果应用程序在后台运行,则运行一些代码并将某些内容发送到服务器。
我有点迷失了,因为使用Firebase的通知控制台无法实现这一点。
然后,我对Firebase Cloud Messaging感兴趣,但在文档中,它说连接到FCM应该被终止:
当您的应用程序进入后台时,请断开与FCM的连接
-来源 我该怎么办? 我应该看看像Parse这样的服务吗?非常感谢任何帮助。
2个回答

1
通知消息在您的应用程序在后台运行时不会执行您的应用程序代码。从Firebase控制台发送的所有消息都是通知消息。因此,您目前无法使用Firebase控制台进行所描述的操作。
但是,您可以从应用程序服务器发送数据消息,这些消息可以触发代码的后台执行。您将不得不自己管理应用程序服务器上的调度。

我该如何设置应用服务器?(我找不到任何好的教程)。使用Parse是一个好的选择吗? - Lawris
Parse即将关闭,因此我不建议使用它。请查看此链接以开始使用应用服务器https://firebase.google.com/docs/cloud-messaging/server - Arthur Thompson
我已经查阅了这份文档,但是对于如何实现我的应用服务器一无所知。这就是为什么我一直在寻找像Parse这样的其他服务...如果你有一个关于如何使用FCM制作应用服务器的好教程或者Parse的良好替代方案...谢谢。 - Lawris

1
我解决了我的问题,建立了一个服务器,用户可以将他的令牌(唯一标识符)注册到数据库中。还有一个用于发送推送通知的PHP脚本。您可以在这里找到所有这些内容。
我编辑了PHP脚本,以发送包含以下内容的有效负载:
["content-available"] = "1"

这个有效载荷将在您的应用程序在后台运行时触发所需的操作。
我在我的服务器上使用crontab定期发送推送通知。
Firebase的通知控制台可以发送推送通知,但不能发送我们需要的静默推送通知。

链接已失效。 - Martin Berger

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