渐进式Web应用程序(PWA)可以在移动设备上运行后台服务以从硬件(加速度计,gps ...)获取数据吗?

Raf*_*ira 16 progressive-web-apps

我看到我们可以使用https://whatwebcando.today/检查移动浏览器的功能,但是当不在前台运行时是否可以查询硬件API?

我的意思是......使用PWA,我能够构建一个应用程序,在后台运行时获取硬件信息,就像Octo U,Android一样,并将这些信息发布到Web服务器上?

Jef*_*ick 11

在后台运行代码的现代方法是使用服务工作者,通过其push事件处理程序(通过传入的推送消息触发),或通过其sync事件处理程序(由先前失败的任务的自动重放触发) .

目前无法从服务工作者内部访问您要求的硬件传感器类型.

  • 我可以创建一个计时器并在后台完全脱机运行它,并在计时器停止使用服务工作者后向用户发送通知吗? (3认同)
  • 现在pwa可以在后台获取位置了吗? (3认同)

Chr*_*ove 11

服务人员在事件驱动的模型上运行.这意味着它们仅在注册事件时启动(浏览器UI现在发出网络请求,推送通知和后台同步).我认为你要求的是地理围栏功能.AFAIK这是正在讨论添加到SW模型的内容.如果不是,那应该是因为它对营销目的非常有价值.我知道它正在原生应用程序中使用,所以我认为它将被关注.GPS可从前端访问,并已在浏览器中使用多年.但是,用户需要在浏览器中加载您的站点/ PWA.

  • 自从你发布这个以来已经有一段时间了。但据我所知,不。我真的希望这能够得到实施。这样我就可以构建一个应用程序来跟踪我的步数和锻炼情况,例如 Google Fit :) 看起来这就像获得用户许可一样简单。有很多应用程序可以做这类事情,在过去 4 年里,我至少被问过十几次,要求我在 PWA 中创建健身追踪器类型的体验。 (2认同)