Я пытаюсь сделать так, чтобы мой сервер Spring отправлял sh уведомление моему vue клиенту, когда происходит событие. Я добавил pwa, используя vue -cli, и протестировал, используя build & serve, которая является производственной средой. Однако он продолжает показывать «DOMException: Registration failed - pu sh service error», когда я пытаюсь получить ошибочный токен, а все остальное работает нормально. У меня есть firebase-messaging-sw. js в моей папке publi c с правильной конфигурацией
importScripts('https://www.gstatic.com/firebasejs/7.17.2/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/7.17.2/firebase-messaging.js');
const firebaseConfig = {
apiKey: "xxxxxxxxxxxxxxx",
authDomain: "xxxxxxxxxxxxxx",
databaseURL: "xxxxxxxxxxxxxxxxxx",
projectId: "xxxxxxxxxxxxxxxx",
storageBucket: "xxxxxxxxxxxxxxxxxx",
messagingSenderId: "xxxxxxxxxxxxxxxx",
appId: "xxxxxxxxxxxxxxxxx",
measurementId: "xxxxxxxxxxxxxxx"
};
firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();
, и мой main.ts выглядит так:
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import vuetify from './plugins/vuetify';
import './assets/css/main.css'
import firebase from 'firebase/app'
import 'firebase/app'
import 'firebase/messaging'
Vue.config.productionTip = false
const firebaseConfig = {
apiKey: "xxxxxxxxxxxxx",
authDomain: "xxxxxxxxxxxxxxxxxx",
databaseURL: "xxxxxxxxxxxx",
projectId: "xxxxxxxxxxxx",
storageBucket: "xxxxxxxxxxxxxx",
messagingSenderId: "xxxxxxxxxxxxxxxxxx",
appId: "xxxxxxxxxxxxxxx"
};
firebase.initializeApp(firebaseConfig)
const messaging = firebase.messaging()
messaging.usePublicVapidKey("xxxxxxxxxxxxxxxxxxxxxxx")
messaging.requestPermission().then(() => {
console.log('Notification permission granted.')
messaging.getToken().then((token) => {
console.log('New token created: ', token)
})
}).catch((err) => {
console.log('Unable to get permission to notify.', err)
})
messaging.onMessage((payload)=>console.log(payload))
new Vue({
router,
store,
vuetify,
render: (h) => h(App)
}).$mount('#app')
Почему Ошибка «DOMException: Registration failed - pu sh service error» продолжает отображаться, и я не могу отправить уведомление?
Спасибо!