Estoy haciendo una aplicación de chat para iPhone, pero no estoy seguro de cómo los mensajes de conversación deberían aparecer al instante.iOS chat APNS, tomas de corriente o intervalo de tiempo
He leído toneladas de resultados de Google sobre este tema. También la vez en:
- http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server
- http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
enfoque APN:
una notificación invisible será empujado al iPhone que indica que un nuevo mensaje está listo para ser leído. Entonces la aplicación hará una solicitud de mensajes no leídos. Entonces, en lugar de sondear manualmente nuevos mensajes, dejaré que APNS me ayude con eso. ¿Pero no estoy seguro? enfoque
sockets:
Establecimiento de una conexión de socket que está abierto para compartir datos. Cuando se encuentran mensajes nuevos en db, automáticamente enviará los datos a la aplicación. ¿Pero qué pasa con el rango de IP, firewall, consumo de energía, otras cosas? de nuevo no estoy seguro :(
enfoque de sondeo:
Hacer un intervalo de tiempo en el que una encuesta entre solicitud, el consumo de energía es mi enemigo aquí
Mi pregunta:.
- ¿Qué enfoque es ? mejor
- Otras sugerencias
-. realmente necesito algunas ventajas e inconvenientes de las personas con experiencia en este tema
ejemplos es una siempre está bien.
Gracias
El sondeo le ofrece confiabilidad, mejor demora y control de tiempo de espera, y como ventaja adicional, podrá elegir cómo presentar sus datos. Con Push Notifications, no tienes garantías de que tu mensaje se haya entregado correctamente. Apple no lo garantiza. Por lo tanto, no confío en que Apple entregue mensajes de chat a mis usuarios. – jweyrich
Creo que malinterpretaste la pregunta. APNS no debe enviar los mensajes de chat por sí mismo, solo debería ... "empujar"/"invocar" la aplicación para que algunos nuevos mensajes no leídos estén listos para ser leídos. –
¿Qué no está seguro sobre el método APNS? Las notificaciones automáticas no requieren una ejecución en segundo plano, lo que es una gran ventaja porque una aplicación en estado suspendido ahorra batería. – jweyrich