我意外地删除了FCM令牌,现在使用了新的令牌(看起来它是SDK返回的同一代币(,我无法发送任何消息。我得到的错误是...
Error: The provided registration token is not registered. A previously valid registration token can be unregistered for a variety of reasons. See the error documentation for more details. Remove this registration token and stop using it to send messages.
任何想法如何刷新FCM令牌?
更新:
这将在每个页面上执行
messaging
.requestPermission()
.then(() => {
return messaging.getToken()
})
.then((token) => {
if(token){
return firebase.firestore().collection('users').doc(firebase.auth().currentUser.uid).set({
notificationToken: token
}, {merge: true})
}
})
.catch((e)=>{
console.error(e, 'Unable to get token')
})
我去了Chrome的开发人员控制台,并将应用程序从通知中删除,因此App要求我再次提供权限。
听起来像这样的问题:https://github.com/firebase/quickstart-js/issues/210
您可以尝试4.13版吗?
String fcmToken = FirebaseInstanceId.getInstance().getToken();
将FCM令牌保留在数据库中。当用户登录到应用程序时,使用用户名和密码发送FCM令牌值。