相关疑难解决方法(0)

渐进式Web应用程序中的后台事件?(构建闹钟应用)

我在玩渐进式Web应用程序,而我想尝试构建的一种情况是闹钟应用程序。

我认为要使此应用正常运行,必须在内部条件(当前时间===警报时间)得到满足后,才能在后台运行并激活。

这可能吗?或者,渐进式Web应用程序尚未具有通过API在后台/访问电话功能中进行操作的自由。

谢谢!

progressive-web-apps

5
推荐指数
1
解决办法
1343
查看次数

在 PWA 中保持计时器运行的最佳实践

我正在使用 React 构建一个渐进式 Web 应用程序,其概念围绕着保持计时器运行。

就上下文而言,该应用程序可供家庭酿酒师跟踪酿造过程中何时需要添加啤酒花和其他添加物。在煮沸剩余一定时间时添加添加物,即在剩余 20 分钟时添加 1 盎司 Citra 啤酒花。

我使用 JavaScriptsetInterval来“勾选”计时器,这是elapsedSeconds驱动应用程序其余部分的状态属性。

我遇到的问题是计时器停止计时。如果我让应用程序运行,屏幕最终将锁定,或者我将切换应用程序等。服务工作人员将继续运行,并且计时器将继续滴答作响,时间很短(据我所知大约 10 分钟)测试中?)

我的想法是,我将在状态中存储一个纪元时间,它代表计时器启动的时间。这样,当用户“返回”PWA 时,我可以将当​​前纪元时间与存储的时间进行比较startingEpochTime以获取elapsedSeconds返回值。但如果不需要的话,我不想在每次“滴答”时都进行这种比较。理想情况下,只有当用户从其他上下文返回应用程序且 Service Worker 已经停止处理时,才会运行此比较。

我正在寻找的是执行此操作的正确方法。window.onload在这种情况下会起作用吗?如果我将应用程序切换到另一个应用程序 20 分钟,然后切换回我的计时器应用程序,该方法是否会再次运行?寻找这种情况的最佳实践,或者任何可能对我有帮助的想法。

javascript timer reactjs progressive-web-apps

5
推荐指数
1
解决办法
2766
查看次数

是否可以通过 PWA 设置闹钟?(构建计时器/闹钟应用程序)

我正在构建一个 PWA 应用程序,其工作原理类似于番茄钟。因此,它会倒计时 25 分钟,并在时间到时通知用户。

我想了几个解决方案。- 当 PWA 应用程序启动时,它会设置手机内置的闹钟 - PWA 应用程序始终在后台运行,并触发自己的闹钟。

我的应用程序将有关计时器何时结束的数据保存在 firebase 的实时数据库中。所以我正在考虑使用 firebase 函数来检查剩余时间,但这可能是不可能的,因为这些函数很快就会丢失。

我也在考虑一个单独的后端来检查时间是否已经过去并向手机发送推送通知,但我不知道如何去做以及这是否是一个好的解决方案。

我希望应用程序 PWA 在时间用完时通知用户。尤其是当它关闭时。例如,通过通知或警报。我可以使用什么工具来实现这一点(时间到时收到通知/蜂鸣声)?

javascript firebase reactjs progressive-web-apps

4
推荐指数
1
解决办法
4459
查看次数