angular 添加通知 关闭到SwPush

myzjeezk  于 5个月前  发布在  Angular
关注(0)|答案(1)|浏览(42)

与功能请求相关的@angular/*包?

service-worker

描述

Angular官方文档指出:
当使用Angular服务工作器时,推送通知交互将使用SwPush服务处理。要了解更多关于涉及的浏览器API,请参阅Push APIUsing the Notifications API
SwPush服务包含notificationClicks属性以处理serviceWorkerGlobalScope.notificationclick。但是serviceWorkerGlobalScope也会发出notificationclose事件。

建议的解决方案

SwPush服务中添加notificationCloses属性。

建议的步骤:

  • 添加this.scope.addEventListener('notificationclose', (event) => this.onClose(event!));(类似于已经存在的notificationclick事件)

angular/packages/service-worker/worker/src/driver.ts
第172行中的634c529
| | this.scope.addEventListener('notificationclick',(event)=>this.onClick(event!)); |

  • 添加this.notificationCloses = this.sw.eventsOfType('NOTIFICATION_CLOSE')(类似于已经存在的NOTIFICATION_CLICK)

angular/packages/service-worker/src/push.ts
第148到149行中的634c529
| | this.notificationClicks= |
| | this.sw.eventsOfType('NOTIFICATION_CLICK').pipe(map((message: any)=>message.data)); |

34gzjxbg

34gzjxbg1#

如果你不介意的话,我可以自己贡献PR。

相关问题