【问题标题】:Push Manager - on change subscription event推送管理器 - 更改订阅事件
【发布时间】:2020-12-18 12:57:29
【问题描述】:

问题

当新的推送订阅被添加到浏览器(在 subscribe() 之后)或订阅被删除时(在 unsubscribe() 之后,我可以收听任何事件吗? )?

场景

我有反应组件,当在我的浏览器范围内添加或删除推送订阅时,我需要更新状态。此订阅添加在通用脚本中,可以在我的组件安装之前或之后执行。

尝试

我试过 pushsubscriptionchange,其中 sw 是 ServiceWorkerRegistration 对象

sw.addEventListener("pushsubscriptionchange", func);

但它根本不起作用(函数永远不会执行)。

sw.pushManager 根本没有 addEventListener。

【问题讨论】:

    标签: typescript push-notification service-worker web-push


    【解决方案1】:

    pushsubscriptionchange 似乎也没有被我调用.. 您只需要在他们允许的情况下将订阅保存到您的 api。对于取消订阅,推送 API 会在您尝试发送时通知您,因此只需将订阅标记为取消订阅。我知道不知道他们退订的确切时间并不理想,但总比没有好

    【讨论】:

    • 你知道为什么吗?是浏览器问题?
    • 老实说不知道。 Chrome 不支持 pushsubscriptionchange 事件(尽管在过去一年中可能发生了变化),firefox 似乎只在到期或用户刷新时触发,而不是在删除订阅时触发。所以是的,它非常不可靠,因为我正在做一个时间紧迫的项目,所以我没有时间去调查它
    猜你喜欢
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多