8
votes

Push vs interrogation avec service Web sur iPhone

J'utilise la bibliothèque ASIHTTTPRequest pour poser un service Web chaque minute pour les mises à jour. L'application reçoit une chaîne JSON et analyse. Ça marche ok.

Mais j'aimerais rendre cela plus efficace .. Quel serait la meilleure façon d'obtenir le serveur d'envoyer à l'adresse de l'application chaque fois qu'il y a une mise à jour .. Plutôt que d'interroger constamment le service Web?


0 commentaires

3 Réponses :


2
votes

Les notifications pushs d'Apple peuvent être ce que vous recherchez. Cependant, vous devez mettre en œuvre quelque chose sur le site Web pour les soutenir, je crois. Je ne les ai pas utilisés moi-même (je n'ai pas compris cela dans mon développement de l'application), mais voici un lien vers la documentation du développeur pour cela: http://developer.apple.com/ Bibliothèque / iOS / # Documentation / NetworkInternet / Conceptuel / RemoTénotificationsPG / Introduction / Introduction.html


0 commentaires

2
votes

La notification push apple n'est pas une bonne solution

1) Vous ne pouvez emballer qu'une quantité limitée de données à elle 2) Il peut être difficile de déterminer si les utilisateurs disposent de l'application lancée ou sont sorties. Si vous continuez à envoyer une poussée, même après la sortie des utilisateurs, ils se retrouveront avec beaucoup de spam. Si vous essayez d'envoyer quelque chose au serveur pour indiquer que les utilisateurs ont fermé l'application afin de cesser d'envoyer une poussée, cela peut ne pas fonctionner lorsque l'application se bloque.

Je vous suggère d'utiliser des prises.

ou simplement utiliser une boucle planifiée pour faire des demandes toutes les minutes.

.....

Mais je me demande si vous pouvez simplement envoyer une poussée sans alerte et sonore, et simplement envoyer un badge 0. Si l'application est ouverte, il sera en mesure de rétablir le serveur pour continuer à envoyer la mise à jour. S'il n'y a pas de commentaires, arrêtez d'envoyer une poussée.


2 commentaires

Si je lis correctement, vous spécifiez les attributs avec la notification push. Vous pouvez faire un badge et avoir une fonction dans l'application (Application: DavinishloadingWithOptions: Je pense) utiliser ASIHTTPEQUEST pour analyser les données. Cela devrait également améliorer l'efficacité de la batterie du téléphone car elle n'exercera pas constamment une source de données via Internet pour les données.


Est-il possible d'utiliser des notifications push pour envoyer simplement un "déclencheur" au client qui notifie l'application qu'une mise à jour s'est produite et qu'elle doit maintenant demander aux nouvelles données du service Web? De cette façon, le sondage est éliminé?



0
votes

0 commentaires