【问题标题】:Firebase push notifications for a specific browser特定浏览器的 Firebase 推送通知
【发布时间】:2019-03-11 20:57:31
【问题描述】:

我有一个网页,可以像 facebook 一样显示实时通知。我想向特定用户发送通知,但是如何让发送这些通知的后端知道每个用户的令牌? 有没有办法在我的后端已知的用户 ID 和它用来发送实际通知的令牌之间制作火力地图? 我正在考虑使用messaging.onTokenRefresh() 向后端发送ajax 请求以跟踪当前令牌。并且每当后端发送通知时,它都会通过诸如用户ID之类的东西来获取它。 但是如果有比这更好的东西,我会徘徊吗?!

【问题讨论】:

  • 是的,您当然可以将用户及其设备的令牌配对。这很常见。
  • @DougStevenson 你能告诉我怎么做吗?我说的是网页而不是移动应用
  • 根据您写的内容,听起来您走在正确的轨道上。如果您正在寻找有关如何管理实际使用令牌的后端的完整说明,那么这超出了 Stack Overflow 问题的范围。如果您在编程方面遇到特定问题,这就是本网站的用途。

标签: firebase push-notification firebase-cloud-messaging


【解决方案1】:

保持用户与其 FCM 令牌之间的映射是一种常用方法。它有时被称为令牌注册表。

需要注意的几点:

  • 单个用户可以拥有多个令牌,例如当他们在多台设备上打开您的应用时。
  • 令牌可能会过期,在这种情况下,您需要从注册表中删除它们。一种简单的方法是当您尝试发送到令牌时遇到错误,如this example 所示。

一个简单的替代方法是为每个用户创建一个主题(例如使用他们的 UID),然后发送给该主题。不过要记住一些事情:

  • 主题是公开的,因此知道主题 ID 的任何人都可以订阅它。
  • 在这种情况下,您无需维护自己的设备注册表,因为 FCM 主题会在幕后为您完成这项工作。

【讨论】:

  • 我认为主题可能接近我所需要的。我的意思是我可以让主题 ID 像哈希或其他东西一样不可预测。
  • 我认为这两种方法都很方便。第一个非常安全,但第二个更容易。谢谢@Puff :)
猜你喜欢
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多