Я хочу отправить подписку на уведомления с помощью модуля web-push
и angular service worker
.Я следовал инструкциям по этим ссылкам: Angular Push-уведомления: полное пошаговое руководство и Push-уведомлений с Angular & Express , но приглашение не отображалось, поскольку онодолжен.Я проверил объект swPush
и обнаружил, что он не включен, и я не знаю, почему даже я следовал инструкциям по установке angular/pwa
в точности так, как указано в этих ссылках.Надеюсь, кто-то здесь может помочь.Большое спасибо!
Я запускаю приложение со своим собственным Nodejs
сервером, а не с модулем http-server
.
Вот мой код принудительной подписки:
readonly VAPID_PUBLIC_KEY =
'BIfDkegCvhzctX06rYvwQImhbfAymWYE3wtcog9E4Zj7LOgX6TQFS6fZSqLCt01zBZtc1-jSwpZrZEmTQ2i95V8'; // key generated with web-push
constructor(
private user: UserService,
private httpClient: HttpClient,
private router: Router,
private auth: AuthService,
private swPush: SwPush
) {
this.swPush.requestSubscription({
serverPublicKey: this.VAPID_PUBLIC_KEY
})
.then(subcription => {
console.log('Send ' + subcription + ' to server');
})
.catch(console.error);
}
Ошибка возвращена:
Ошибка: работники службы отключены или не поддерживаются этим браузером в SwPush.push ../ node_modules/@angular/service-worker/fesm5/service-worker.js.SwPush.requestSubscription (service-worker.js: 146) в новом DashboardComponent (dashboard.component.ts: 40) в createClass (core.js: 9311) в createDirectiveInstance (core.js: 9186) в createViewNodes (core.js: 10406)в createRootView (core.js: 10320) в callWithDebugContext (core.js: 11351) в Object.debugCreateRootView [как createRootView] (core.js: 10838) в ComponentFactory_.push ../ node_modules / @ angular / core / fesm5 / core.js.ComponentFactory_.create (core.js: 8666) в ComponentFactoryBoundToModule.push ../ node_modules/@angular/core/fesm5/core.js.ComponentFactoryBoundToModule.create (core.js: 3315)
1023 * Ожидаемый результат: