2011-04-27 16 views
8

Estoy usando la biblioteca ASIHttpRequest para solicitar actualizaciones a un servicio web cada minuto. La aplicación recibe una cadena json y la analiza. Funciona bienPush vs polling con servicio web en iPhone

Pero me gustaría hacer esto más eficiente ... ¿cuál sería la mejor manera de hacer que el servidor envíe a la información de la aplicación cada vez que haya una actualización ... en lugar de sondear constantemente el servicio web?

Respuesta

2

notificación PUSH Apple no es una buena solución

1) Solo puede empaquetar una cantidad limitada de datos en él 2) Puede ser difícil averiguar si los usuarios tienen la aplicación iniciada o saliente. Si continúa enviando PUSH incluso después de que los usuarios salgan de la aplicación, terminarán con un montón de spam. Si intentas enviar algo al servidor para indicar que los usuarios han cerrado la aplicación por lo que debería dejar de enviar PUSH, es posible que no funcione cuando la aplicación falle.

Le sugiero que use Sockets.

O simplemente use un ciclo programado para realizar solicitudes cada minuto.

.....

Pero me pregunto si sólo puede enviar un PUSH sin el cuerpo de alerta y el sonido, y sólo el envío de un 0 tarjeta de identificación. Si la aplicación se abrió, podrá enviar comentarios al servidor para continuar enviando la actualización. Si no hay comentarios, deje de enviar push.

+0

Si leo correctamente, especifica los atributos con la notificación de inserción. Podría hacer una insignia y tener una función dentro de la aplicación (application: didFinishLoadingWithOptions: creo) para usar ASIHttpRequest para analizar los datos. Esto también debería mejorar la eficiencia de la batería del teléfono, ya que no estará constantemente sondeando una fuente de datos a través de Internet para obtener datos. –

+0

¿Es posible utilizar las notificaciones PUSH para simplemente enviar un "disparador" al cliente que notifica a la aplicación que se ha producido una actualización y ahora debe solicitar los nuevos datos del servicio web? De esta manera, se elimina el sondeo? – AJB