我正在Gatsby上构建一个React web应用程序,并尝试使用FCM合并推送通知。我有firebase-messaging-sw.js服务人员,我正试图通过以下方法在我的应用程序中获取令牌:
messaging
.requestPermission()
.then(() => {
console.log('Permission received.');
return messaging.getToken();
})
.then(token => {
console.log(token);
// Save token with user.
return this.saveFcmToken(token, authUser);
})
.catch(error => {
console.log('Error occurred.', error);
});
我在firebase.auth.onAuthStateChanged((中调用这个片段来获取用户。
问题是我每次都得到不同的令牌。经过长时间的搜索,我还没有看到这类问题的记录。
有什么想法吗?
事实证明,这是由于https://github.com/gatsbyjs/gatsby/issues/9770
在开发模式下,盖茨比显然注销了服务人员。使用生产构建解决了这个问题。