6

Ho bisogno di eseguire il polling di un server in un dato intervallo con un'app Apache Cordova e di avvisare l'utente se ci sono informazioni rilevanti per lui/lei. Non sono sicuro che si possa fare con i webworker perché l'evento (sondaggio del server) deve avvenire anche quando l'applicazione è inattiva su iOS e Android.Servizio in background nell'app apache cordova

Qualcuno ha affrontato un problema simile ?, Ho esaminato local noifications/dialogs per recapitare il messaggio, ma non sono sicuro di come creare il servizio di polling.

Grazie in anticipo.

risposta

6

Ai miei occhi il polling permanente non è mai una buona soluzione. Ti consiglio di utilizzare Push, quindi il tuo server avviserà l'app non appena saranno disponibili nuovi contenuti. Risparmia un sacco di batteria sul tuo dispositivo, perché viene risvegliato solo se c'è davvero un aggiornamento. I Push Notification Services sono costruiti proprio per questo scopo.

Dai un'occhiata all'eccellente Push Plugin for Phonegap, che funziona per iOS, Android e persino più piattaforme. Per la configurazione di per iOS e Android è possibile leggere Holly Schinsky's tutorial here.

In Ray Wenderlich's tutorial here si trovano informazioni su come è possibile implementare il lato server descritto in modo dettagliato.

Se si desidera attenersi al polling, so che esiste la possibilità di farlo su iOS (vedere this article su Background Fetch), non sono sicuro di Android (suppongo che sia necessario implementare un Servizio in quel punto). Tuttavia, non ho mai trovato un plugin per PhoneGap che gestisca l'esecuzione in background di entrambe le piattaforme di conseguenza.

+1

+1 per la raccolta di sfondo. Lo scarico della batteria è trascurabile per un compito semplice, penso. Non mi precipito in una soluzione di notifica push in quanto porta con sé ulteriore logica lato server e anche voi dipendete da una terza parte (i server Apple in questo caso) per consegnare i vostri contenuti ... – Kozuch