react que notification apple iphone ios sockets chat apple-push-notifications

iphone - que - push notifications ios swift 4



iOS APNS chat, tomas de corriente o intervalo de tiempo (2)

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.

He leído toneladas de resultados de Google sobre este tema. También el una 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 APNS:
Se enviará una notificación invisible al iPhone indicando 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 de tomas:
Haciendo una conexión de socket que está abierta 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 votación
Haga un intervalo de tiempo en el que solicite una encuesta, el consumo de energía es mi enemigo aquí.

Mi pregunta:
- ¿Qué enfoque es el mejor?
- ¿Otras sugerencias?
- Realmente necesito algunos inconvenientes y ventajas de personas con experiencia en este tema.

Los ejemplos siempre son buenos.
Gracias


Creo que su principal preocupación es cómo recibir nuevos mensajes mientras su aplicación está en segundo plano. Porque no es como si tuviera una aplicación de mensajería abierta todo el día cuando puedo recibir notificaciones con aplicaciones como WhatsApp.

Mejor que los zócalos TCPIP, podría usar websockets . Como es HTTP, no hay problemas de firewall, PERO eso requiere una conexión permanente con la aplicación en el primer plano que drena la batería.

Y debido a que solo la música, la ubicación o la IP de voz pueden ejecutarse en segundo plano, no puede sondear a menos que la aplicación esté abierta. Tenga en cuenta que si se registra para esas tareas en segundo plano y hace algo más, Apple notará y rechazará su aplicación.

Por lo tanto, use APNS. Eso es lo que hace WhatsApp.