2012-04-10 8 views
5

Es posible recibir notificaciones en dispositivos móviles siempre que se generen desde el servidor web.Notificaciones automáticas en la Web móvil

Esto se puede lograr con aplicaciones nativas para iPhone y Android. Pero mi requisito es lograr lo mismo a través de un sitio web móvil. También es posible recibir notificaciones incluso si el usuario ha cerrado el navegador web.

+0

Ahora es posible utilizar las API web estándar orientadas para la implementación en todos los principales navegadores. Consulte http://stackoverflow.com/a/32502379/441757 – sideshowbarker

Respuesta

2

Es posible acheive, y tienes 2 formas principales de conseguirlo:

  1. WebSockets (HTML 5 es necesario)
  2. HTTP sondeo largo

Ambos métodos requieren algún servidor truco software, un buen ejemplo es Socket.IO ejecutándose en la plataforma Node.JS.

Websockets requieren un navegador HTML 5 (por ejemplo, Chrome) por lo que podría no funcionar para sus requisitos.

HTTP long polling es el acto de aceptar una conexión HTTP entrante en el servidor, y luego permanecer inactivo hasta que desee enviar los datos al cliente. Node.JS se puede configurar para que lo haga con bastante facilidad, o puede usar Socket.IO (una biblioteca en Node.JS) que proporciona una funcionalidad adicional. Socket.IO también funciona con Websockets siempre que sea posible, y recurre a largas encuestas si es necesario.

En resumen, necesitará una plataforma de servidor para hacer esto: le sugiero que mire en Socket.IO para empezar. Siempre puedes enrollar el tuyo una vez que hayas clavado el concepto principal. Escribí uno en ASP.net que funcionó bastante bien, por ejemplo.

+0

¿Las notificaciones automáticas llegarán si el navegador está cerrado? –

+0

no - como la aplicación en Javascript en el navegador, que ya no existe. Creo que debe crear una aplicación móvil para manejar el transporte de mensajes, que en Android podría ejecutar como un servicio. A continuación, puede colocar su teléfono móvil HTML/JS en esta aplicación y renderizar directamente, o envolver todo en Phonegap ... – justacodemonkey

1

No es posible recibir notificaciones una vez que la página en el navegador está cerrada. Las notificaciones se activan por las aplicaciones que se ejecutan en el fondo del sistema operativo del teléfono inteligente.

0

También puede utilizar eventos enviados por el servidor (SSE) para este fin. Android ICS admite SSE, si no estoy equivocado. HTML5 rocks (http://www.html5rocks.com/en/tutorials/eventsource/basics/) tiene un artículo sobre esto y también apunta a una demostración (http://googlecodesamples.com/html5/sse/sse.html) .

Sin embargo, ninguna de estas soluciones (websockets, SSE) sería útil si también desea que su aplicación funcione en dispositivos Android anteriores. Estas soluciones no son útiles si desea recibir push cuando su aplicación no se inicia. La mejor solución es construir algún tipo de aplicación híbrida como lo sugiere richbayliss. Supongo que realmente no necesitas un teléfono fijo para esto. Puede desencadenar un evento utilizando loadDataWithBaseURL de WebView

Cuestiones relacionadas