Firebase 在调用 getToken(true) 后不更新令牌
Firebase doesn't update token after call getToken(true)
所以,我正在使用以下组合:
//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()
所以,我正在使用以下组合:
//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()