【问题标题】:FirebaseMessaging generates same tokenFirebaseMessaging 生成相同的令牌
【发布时间】:2020-11-09 17:03:34
【问题描述】:

我正在尝试生成一个新的消息传递令牌,但它似乎一遍又一遍地生成同一个。

我都试过了

FirebaseMessaging.getInstance().deleteToken().addOnCompleteListener {
  Log.d("Notifications", "Token Deleted!!!")
}

FirebaseInstallations.getInstance().delete().addOnCompleteListener {
  Log.d("Notifications", "Token Deleted!!!")
}

似乎都没有触发

override fun onNewToken(refreshedToken: String) {}

服务。每次我查询当前令牌时,我都会得到相同的令牌。

我做错了什么?

【问题讨论】:

  • 你可以检查添加这一行,它会工作:-FirebaseMessaging.getInstance().deleteToken().addOnSuccessListener { FirebaseMessaging.getInstance().getToken() }

标签: android firebase-cloud-messaging


【解决方案1】:

我不确定您是否可以删除生成的令牌以获取新令牌。但是,根据documentation,令牌会在应用程序的初始启动时生成一次。

如果您需要新令牌 - 只需卸载应用程序并重新安装即可。然后 Firebase 会生成一个新的令牌。

【讨论】:

    【解决方案2】:

    我在尝试注销用户时遇到了同样的问题。

    我建议使用以下折旧方法:

           Thread(Runnable {
                Thread.sleep(1000)
    
               
                FirebaseInstanceId.getInstance().deleteInstanceId()
    
    
            }).start()
    

    这不会调用 onNewToken,但是,如果你现在调用..

      FirebaseMessaging.getInstance().token.addOnCompleteListener { -> task
      // get the result here
      }
    

    结果应该是一个新的令牌

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-25
      • 2020-11-09
      • 2019-06-17
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      • 2012-09-22
      • 2018-08-29
      相关资源
      最近更新 更多