【问题标题】:FCM token is always the same for JS appJS 应用程序的 FCM 令牌始终相同
【发布时间】:2017-09-30 16:46:52
【问题描述】:

我正在努力在 Javascript 应用程序中实现 Firebase 云消息传递。我遵循了不同的教程,现在网络应用程序正在接收带有预期内容的通知(我正在使用 Curl 发送内容)。我唯一不明白的是 FCM 令牌总是一样的。我本以为有一种方法可以为我想传递给后端的每个用户生成 FCM 令牌,以便后端只能使用 FCM 令牌通知该用户。

我错过了什么?

文档似乎没有明确...

谢谢

【问题讨论】:

  • 每个设备/用户有一个令牌,您可能会误以为实现。
  • 什么意思?这是一个网络应用程序,所以如果两个人共享同一台笔记本电脑并使用 Chrome(同一 Windows 用户),他们将拥有相同的令牌?
  • FCM 令牌标识一个应用程序实例。如果两个用户共享同一个浏览器 profile,他们将拥有相同的令牌。如果不需要,您应该在用户登录/退出时强制刷新令牌。

标签: javascript firebase-authentication firebase-cloud-messaging


【解决方案1】:

看起来我找到了使用 firebase JS SDK v. 4.4.0 的解决方案。不幸的是,不再支持getToken(true),因此唯一的选择是:

  1. 获取令牌
  2. 删除该令牌
  3. 再次获得令牌

    this.messaging.getToken()
        .then(oldToken => {
            this.messaging.deleteToken(oldToken).then(() => {
                this.messaging.getToken().then(newToken => {
                    this.updateToken(newToken)
                })
            })
        })
    

不是最简单的 SDK...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2020-09-19
    • 2020-06-29
    相关资源
    最近更新 更多