web-dev-qa-db-fra.com

Une application web progressive (PWA) peut-elle exécuter un service d'arrière-plan sur un appareil mobile pour obtenir des données à partir du matériel (accéléromètre, gps ...)?

Je vois que nous pouvons vérifier les capacités d'un navigateur mobile en utilisant https://whatwebcando.today/ , mais les API matérielles peuvent-elles être interrogées lorsqu'elles ne fonctionnent pas au premier plan?

Je veux dire ... Avec PWA, suis-je capable de créer une application qui obtient des informations sur le matériel tout en fonctionnant en arrière-plan, tout comme Octo U, pour Android, et qui publie ces informations sur un serveur Web?

13
Rafael Oliveira

La méthode moderne d'exécution du code "en arrière-plan" consiste à utiliser un service worker , soit via son gestionnaire d'événements Push (déclenché via un message Push entrant), soit via son sync gestionnaire d'événements (déclenché par une relecture automatique d'une tâche qui a précédemment échoué).

Il n'est actuellement pas possible d'accéder au type de capteurs matériels que vous demandez à l'intérieur d'un technicien de maintenance.

8
Jeff Posnick

les employés de service fonctionnent sur un modèle événementiel. Cela signifie qu'ils ne tournent que lorsque des événements sont enregistrés (interface utilisateur du navigateur faisant une demande réseau, notification Push et synchronisation en arrière-plan pour l'instant). Je pense que vous demandez des capacités de géofenching. AFAIK c'est quelque chose en cours de discussion à ajouter au modèle SW. Si ce n'est pas le cas, c'est parce qu'il serait très utile à des fins de marketing. Je sais qu'il est utilisé dans des applications natives, donc je pense que ce serait sur le radar. Le GPS est accessible depuis le front-end et est depuis des années dans le navigateur. Cependant, l'utilisateur devra charger votre site/PWA dans le navigateur.

10
Chris Love