ver recuperar pantalla notificaciones historial funciona como centro borradas bloqueada ios push-notification chat

ios - pantalla - recuperar notificaciones iphone



iOS-Aplicación de chat con notificación push (3)

Descargo de responsabilidad: Recientemente se necesitó desarrollar un chat, y se utilizaron notificaciones push para recibir los mensajes, funcionó a la perfección. Los zócalos pueden ser una buena idea, pero le costará mucho atravesar NAT si eso no se hace por usted. Entonces no estoy de acuerdo con que me haya pasado en este.

Las notificaciones automáticas serían excelentes si tu aplicación necesita ser despertada desde el fondo cuando el usuario recibe un mensaje nuevo, no para el chat en sí.

Existe una gama de tecnologías que se podrían utilizar, la más simple, en mi opinión, sería usar sockets (creo que es simple debido a la cantidad de tutoriales sobre el tema en línea).

un ejemplo: http://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-server

En pocas palabras, las notificaciones automáticas serían una buena adición a una aplicación de chat, pero solo como un extra (un muy buen extra, no son tan poco fiables y siempre se puede hacer algo de lógica para detectar en el cliente si llega el impulso, como hacer que la aplicación vuelva a enviar algún tipo de código por cada inserción recibida, y volver a enviar el envío si no se recibió ningún código en un momento determinado).

Solo tenga en cuenta que necesitará un servidor para hacer que los impulsos funcionen, de modo que si su aplicación de chat es un éxito, podría costarle algo de dinero ...

Mi pregunta es simple: ¿es una buena idea desarrollar una aplicación de chat mediante notificaciones push? Por lo tanto, las notificaciones push no son confiables y no hay garantía de que lleguen o no. Si no es confiable, ¿qué técnica debería usarse para la aplicación de chat en tiempo real?


Por qué no?

Definitivamente es posible construir un chat usando notificaciones push de iOS. Los puntos de @Aaron son interesantes, pero no tienen sentido en mi opinión por las siguientes razones:

  1. Si su aplicación envía demasiadas notificaciones push (y lo hará si usa eso como medio para "chatear") nadie usará su aplicación porque será molesto.

El único caso aquí es cuando la aplicación no se está ejecutando e incluso entonces, Apple solo enviará la última notificación si hay demasiadas en una fila. Cuando la aplicación se encuentra en cualquier otro estado ( background , foreground active & inactive , suspended ), la notificación se puede gestionar de forma silenciosa, utilizando el content-available : 1 en su notificación automática. Si eso te preocupa, simplemente utiliza notificaciones de insignia en lugar de notificaciones de alerta.

  1. El usuario también puede deshabilitar las notificaciones push para su aplicación, por lo que no puede confiar en eso como el único medio de comunicación.

Eso está mal, eso no impide que las notificaciones se envíen al teléfono, simplemente no se muestran al usuario. Mira aquí . Por lo tanto, puede manejar las notificaciones silenciosas aunque el usuario haya deshabilitado las notificaciones push. Esta es solo una configuración, el dispositivo todavía tendrá un token de dispositivo, y el backend aún estará en condiciones de enviar notificaciones push.

Sin embargo..

Es cierto que algunas notificaciones remotas podrían no entregarse y usar su contenido no es una buena idea. Pero eso no es un gran problema ...

Lo mejor es usar tu notificación como una refresh me I got a new message tipo de refresh me I got a new message de notificación. Una vez que reciba una nueva notificación, solicite al servidor nuevos mensajes en este chat y actualice la tabla. Hemos implementado esto en uno de nuestros proyectos y estamos muy contentos con los resultados hasta el momento. Algunos dicen que la Premature Optimization is the root of all evil , en ese caso, podrías pasar mucho tiempo usando sockets, pero puedes estar listo y funcionando en poco tiempo con notificaciones push. Optimizar más tarde.

Esto funciona genial:

{ "aps" : { "content-available" : 1, "alert" : "This is my new notification", } "conversationId": 23, "senderId":44 }


No. No es una buena idea, al menos por dos razones:

  1. Si su aplicación envía demasiadas notificaciones push (y lo hará si usa eso como medio para "chatear") nadie usará su aplicación porque será molesto.
  2. El usuario también puede deshabilitar las notificaciones push para su aplicación, por lo que no puede confiar en eso como el único medio de comunicación.

Desea un sistema de votación de algún tipo con una relación cliente / canal. Existen muchos sistemas de servidor que pueden hacer esto por usted. WebSync es uno:

http://www.frozenmountain.com/websync/