如何在本地安排 React 中的重复网络通知?

Posted

技术标签:

【中文标题】如何在本地安排 React 中的重复网络通知?【英文标题】:How to schedule recurring web notification in React locally? 【发布时间】:2020-06-29 16:06:26 【问题描述】:

我正在尝试构建一个 React Web 应用程序,该应用程序将在设定的时间每天通知用户,而无需连接到服务器。

例如: 用户设置他/她希望在每天下午 5 点收到通知。然后,应用程序会以某种方式在本地设置此循环网络通知。即使设备未连接到服务器,即使网络应用未打开,用户也会收到通知。

我是 React 开发的初学者。我已经读到这可能以某种方式通过服务人员完成,但我还没有找到任何方法来在本地设置定期通知。

我尝试了诸如 node-schedule 或 react-browser-notifications 之类的软件包,但我还没有找到一种方法将它们与 service worker 一起使用。

所以我的问题如下: 是否可以在本地设置定期网络通知?如果是这样,你会怎么做?

import React,  Component  from "react";

class NotificationScheduler extends Component 
  constructor() 
    super();
    this.state = 
      // information about the notification time...
    ;

    this.setNotification = this.setNotification.bind(this);
  

  setNotification = () => 
    // What should be here?
  ;

  render() 
    return <Button onClick=this.setNotification>"Schedule notitication"</Button>;
  


【问题讨论】:

【参考方案1】:

显然没有办法在浏览器中进行本地操作,因为浏览器不支持服务工作者中的时间触发器。

话虽如此,这些通知触发器正在开发中,但我们不太可能很快看到它们。

您可以在此处阅读更多内容:https://web.dev/notification-triggers/

因此,如果您尝试创建类似常规通知的内容,则每次都必须从服务器发送推送通知。

如果有人对此主题有更新或不同的信息,我们将不胜感激:)

【讨论】:

以上是关于如何在本地安排 React 中的重复网络通知?的主要内容,如果未能解决你的问题,请参考以下文章

如果用户解雇或忽略第一个通知,如何重复本地通知?

如何安排本地通知不同的时间段?

当我的 iOS 应用程序处于前台时,如何使本地通知静音?

安排每小时重复本地通知的问题

如何安排本地通知

安排本地通知从明天开始每天重复