【问题标题】:Firebase notifications without cloud functions or the firebase console没有云功能或 Firebase 控制台的 Firebase 通知
【发布时间】:2018-06-04 09:45:31
【问题描述】:

是否有任何方法可以在不使用云功能或 Firebase 控制台的情况下向设备发送通知。 例如。就像在聊天应用程序中发送消息一样,另一个用户应该像在 WhatsApp 中一样收到收到消息的通知。 谢谢

【问题讨论】:

  • 这个问题很模糊;您是否使用过内置的 Firebase 数据库功能?例如一个用户观察一个私人消息节点,当另一个用户向该节点发布消息时,第一个用户收到一个事件? “通知”的要求是什么?你能澄清和更新你的问题吗?

标签: firebase firebase-cloud-messaging


【解决方案1】:

这取决于您所说的“没有云功能”是什么意思。 FCM 中没有直接的设备到设备功能,因此要将 FCM 消息发送到您确实需要某种类型的后端的设备。

您可以使用Cloud FirestoreRealtime Database 的实时功能在新消息写入时收到通知并在本地生成通知,但这仅适用于前台情况。

【讨论】:

  • 我已经阅读了一些帖子,我们可以从我们的应用程序直接向服务器发出帖子请求(使用改造等),然后接收这些数据通知,这将在应用程序处于前台或前台时起作用背景。但是所有这些都需要在本地存储旧服务器密钥,我认为这不安全,所以有什么想法吗?
  • @K'aRtiKSharma 不,您不需要在本地存储旧服务器密钥。您为什么认为这是一项要求?
  • @Jay 我提到了这个stackoverflow.com/questions/37435750/…。但我想知道我们是否可以在不存储 legacy_server_key 的情况下做到这一点。
  • @K'aRtiKSharma 答案是利用另一台服务器并以“意外”方式使用该密钥。请参阅我对您的问题的评论,因为使用 Firebase 数据库观察者和事件向其他用户(通过 Firebase 服务器设备到设备)“发送消息”是相当直接的。
  • @K'aRtiKSharma 您是正确的,将服务器密钥放在客户端应用程序中是不安全的,您永远不应该这样做。发送消息的最简单方法是使用可调用的云功能,这比使用改造更容易,并且不需要服务器密钥在您的客户端应用程序中。 firebase.google.com/docs/functions/callable
猜你喜欢
  • 1970-01-01
  • 2017-09-28
  • 2019-02-23
  • 1970-01-01
  • 2021-01-12
  • 2021-04-04
  • 2019-12-18
  • 2018-06-01
  • 2016-09-22
相关资源
最近更新 更多