android - 调用 getToken(true) 后 Firebase 不更新令牌
问题描述
所以,我正在使用以下组合:
//retrieve actual token
FirebaseInstanceId.getInstance().instanceId.addOnSuccessListener
//force delete instance and then get a new token
FirebaseInstanceId.getInstance().deleteInstanceId();
但两者都已弃用,现在我正在尝试使用
//retrieve actual token
FirebaseMessaging.getInstance().token.addOnCompleteListener
//force get new token
FirebaseInstallations.getInstance().getToken(true).addOnSuccessListener
实现相同的行为,但它不起作用。
当我调用 FirebaseMessaging.getInstance() 它给了我一个不同的 FirebaseInstallations.getInstance().getToken
例如:
在应用启动时, FirebaseMessaging.getInstance().token 给我令牌:
abcabcabcabcabcabcabcabc...
然后,当我调用 FirebaseInstallations.getInstance().getToken(true) 时,我收到了令牌
123123123123123123123123123...
我关闭应用程序,再次打开,FirebaseMessaging.getInstance().token 给了我相同的旧令牌:
abcabcabcabcabcabcabcabc...
解决方案
FirebaseInstanceId 与消息传递令牌不同。您应该使用Firebase.messaging.token
获取当前令牌并Firebase.messaging.deleteToken()
强制获取一个新令牌。
或者没有 ktx 扩展:FirebaseMessaging.getInstance().getToken()
和FirebaseMessaging.getInstance().deleteToken()
推荐阅读
- sql - pl/sql 过程中的多个/嵌套开始/结束、函数语句
- openlayers - Openlayers4 中 Geoserver WPS 的显示栅格结果
- php - 我的函数应该命名为 getCountXxx() 还是 countXxx()?
- vue.js - 从 store 中调用 mixin 函数
- bash - 代码有时运行良好,有时会给出整数表达式预期错误
- javascript - JavaScript如何在一个数字中找到10的多少个倍数?
- python-3.x - 在我的 POM 结构中,出现错误 ModuleNotFoundError: No module named 'pages'
- python - Python Socket 接收所有字节/数据
- javascript - 如何将 AngularJS 1.6 升级到 Angular 5
- firebase - 将 Metabase 与 Firebase 实时数据库结合使用进行数据分析