Я работаю над веб-push-уведомлением amp, используя FCM, а также использую пользовательский сервисный работник, но иногда я получаю The controlling service worker does not support amp-web-push
ошибку в консоли.
код сервисного работника: -
importScripts('https://www.gstatic.com/firebasejs/5.5.9/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.5.9/firebase-messaging.js');
var swScope ="https://www.example.com/" ;
const WorkerMessengerCommand = {
AMP_SUBSCRIPTION_STATE: 'amp-web-push-subscription-state',
AMP_SUBSCRIBE: 'amp-web-push-subscribe',
AMP_UNSUBSCRIBE: 'amp-web-push-unsubscribe',
};
self.addEventListener('message', event => {
const { command } = event.data;
switch (command) {
case WorkerMessengerCommand.AMP_SUBSCRIPTION_STATE:
onMessageReceivedSubscriptionState();
break;
case WorkerMessengerCommand.AMP_SUBSCRIBE:
onMessageReceivedSubscribe();
break;
case WorkerMessengerCommand.AMP_UNSUBSCRIBE:
onMessageReceivedUnsubscribe();
break;
}
});
function onMessageReceivedSubscribe() {
var _FCMconfig = {
messagingSenderId: 'xyz'
};
firebase.initializeApp(_FCMconfig);
FCMmessaging = firebase.messaging();
var dbToken = getTokenDataFromIndexDB();
dbToken.then(function (indexDbData) {
FCMmessaging.getToken()
.then(function (fcmDbToken) { })
.catch(function (err) { });
});
};
function onMessageReceivedSubscriptionState() {
};
function onMessageReceivedUnsubscribe() {
};
self.addEventListener('install', function (event) {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function (event) {
event.waitUntil(self.clients.claim());
});
function broadcastReply(command, payload) {
};
function getTokenDataFromIndexDB() {
return firebase.messaging().tokenDetailsModel.getTokenDetailsFromSWScope(swScope);
};
Я проверил страницы усилителя и получил зеленый сигнал от проверки усилителя. Я также искал в Google, но не нашел решения для этой проблемы.