FCM令牌无法正常工作的原因是什么?

时间:2018-04-23 12:08:07

标签: javascript firebase firebase-cloud-messaging

我不小心删除了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')
        })

2 个答案:

答案 0 :(得分:0)

  

我去了chrome的开发者控制台并从Notifications中删除了应用程序,因此应用程序再次要求我获得权限。

听起来像这个问题:https://github.com/firebase/quickstart-js/issues/210

您可以尝试使用4.13版本吗?

答案 1 :(得分:0)

String fcmToken = FirebaseInstanceId.getInstance().getToken();

在数据库中保留fcm令牌。当用户登录到应用程序时,发送带有用户名和密码的fcm令牌值。