ce que je veux dire, c’est travailler en arrière-plan, par exemple même l'écran est éteint, l'application est en cours d'exécution et peut envoyer des notifications avec un son.
Mon application est utilisée pour regarder les changements de prix. Il y aura une alerte avec un son quand un prix changera.
Donc, la réponse devrait être oui ou non? Merci.
Voici quelques liens qui peuvent vous aider dans ce domaine.
lien 3: Plugin BackgroundService dans GitHub
Mettre à jour
Puisqu'il y avait une autre solution possible avec iOS 7, je vais fournir une réponse supplémentaire aux utilisateurs d'iOS 7 et plus.
La nouvelle fonctionnalité Background Fetch permet de mettre à jour régulièrement le contenu d'une application en arrière-plan. L'intervalle de temps de la récupération ne peut pas être défini par l'utilisateur, mais plutôt par iOS en fonction des statistiques de l'utilisateur (utilisation de l'application, etc.).
Vous pouvez accéder à cette nouvelle fonctionnalité avec PhoneGap/Cordova via des plugins - heureusement, il y a déjà un plugin a été développé fournissant cet accès . Vous pouvez l'installer dans votre projet Cordova en
cordova plugin add https://github.com/christocracy/cordova-plugin-background-fetch.git
En conjonction avec un plugin fournissant un accès à notifications locales d'iOS , cela fonctionne à merveille. Un tel plugin a également été développé, par exemple celui-ci ..____. Installez-le sur votre projet Cordova en
cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git
Ces plugins peuvent maintenant être combinés dans votre code javascript pour exécuter des activités en arrière-plan:
function onDeviceReady() {
var Fetcher = window.plugins.backgroundFetch;
// Your background-fetch handler.
var fetchCallback = function() {
console.log('BackgroundFetch initiated');
// perform your ajax request to server here
$.get({
url: '/heartbeat.json',
callback: function(response) {
// process your response and whatnot.
window.plugin.notification.local.add({ message: 'Just fetched!' }); //local notification
Fetcher.finish(); // <-- N.B. You MUST called #finish so that native-side can signal completion of the background-thread to the os.
}
});
}
Fetcher.configure(fetchCallback);
}
Ce plugin d'extraction utilise la valeur UIApplicationBackgroundFetchIntervalMinimum
pour l'intervalle d'extraction, ce qui permet d'obtenir la périodicité d'extraction la plus rapide possible.
Si vous construisez cordova pour ios 7 + et êtes prêt à passer de votre code générique à xcode, vous pouvez ajouter des «modes d'arrière-plan requis» au fichier .plist de votre version d'ios. Il ne sera pas écrasé par une nouvelle version. .
par exemple. J'ai choisi l'option "Télécharge le contenu du réseau"
Il vous suffit ensuite de vous assurer que votre application interpelle le monde extérieur toutes les quelques minutes (j'utilise firebase, je reçois donc la valeur d'un nœud factice).
Je ne suis pas encore inscrit à l'App Store, mais je ne vois pas comment cela pourrait échouer si la demande n'est pas trop fréquente (je comprends que les applications ont environ 10 minutes en arrière-plan avant d'être suspendues) et les ressources dont votre application a besoin en arrière-plan./au repos ne sont pas pénibles.
Cela ramène la résolution de ce problème à quelques lignes dans votre code.