Estoy tratando de desarrollar una aplicación de mensajes dentro de mi aplicación de Android. El mensaje será como whatsapp y beluga. Lo busqué en Google y descubrí que C2DM Android 2.2 puede enviar notificaciones automáticas al dispositivo. Sin embargo, esto no está disponible en Android 2.1. ¿Alguien sabe cómo WhatsApp envía las notificaciones para dispositivos 2.1?Cómo implementar Beluga o WhatsApp como sistema de mensajería en Android 2.1
Respuesta
Para Android: Whatsapp se basa en C2DM y, cuando se abre la aplicación, abre una conexión XMPP a su servicio para entregar los mensajes al instante. También pueden usar MQTT como protocolo para minimizar el uso de la batería. Eso es básicamente eso.
Editar: Aprendí más, Facebook usa MQTT en su aplicación de mensajería. Whatsapp está basado en XMPP con sus propias extensiones. Su lado del servidor se ejecuta en la parte superior de ejabbard (implementación XMPP en erlang). http://www.ejabberd.im/
En dispositivos pre 2.1 WhatsApp probablemente mantiene una conexión abierta a sus servidores XMPP en el fondo, pero esto no es realmente bueno para la duración de la batería.
No sé qué tecnología exacta se usa en whatsapp. Sin embargo, si he de poner en práctica las notificaciones donde no hay soporte para notificaciones push desde el sistema operativo, lo que puedo hacer dos cosas:
- Poll un servidor remoto cada X segundos y compruebe si hay nuevas notificaciones (este es el más caro elección).
- Ejecutar un servicio en segundo plano, mantener una conexión con un servidor remoto, que me enviará cualquier notificación que se reciba (algo así como mi propia implementación de notificaciones automáticas).
¿Su segundo enfoque también funciona para las notificaciones fuera de línea? – angelokh
¿Puede explicar en detalle a qué se refiere con 'notificaciones fuera de línea'? – thekindofme
Creo que hay que hacer algo en el lado del servidor, como almacenar el estado y la notificación en el almacenamiento cuando el dispositivo de destino está apagado. – angelokh
C2DM ha sido reemplazado por GCM (google cloud messaging) ahora. puede usarlo para entregar las notificaciones a su aplicación. Para el intercambio de mensajes, uno debe confiar en protocolos como xmpp (whatsapp), mqtt (facebook messenger), mtproto (telegrama), etc.
si está buscando familiarizarse con GCM. Pruebe este tutorial por appsrox - Create an Instant Messaging app using Google Cloud Messaging (GCM)
están usando GCM para la entrega del mensaje también. no se adaptará para la producción, pero es un recurso excelente para las personas que desean desarrollar una aplicación de mensajería instantánea de Android.
- 1. ¿Sistema de mensajería multiplataforma en varios idiomas?
- 2. ¿Qué sistema de mensajería integrada -> ActiveMQ o HornetQ
- 3. ¿Cómo construir un sistema de mensajería en .NET?
- 4. En un sistema FIFO Qeueing, ¿cuál es la mejor manera de implementar mensajería de prioridad
- 5. sincronización de contactos con mi propia aplicación como skype o whatsapp
- 6. PopupMenu en Android 2.1 API 7
- 7. ¿Cómo usar WhatsApp desde mi aplicación de Android?
- 8. Android 2.1 vs 2.2
- 9. getExternalFilesDir alternativo en Android 2.1
- 10. Hacer Bluetooth en Android 2.1 detectable indefinidamente
- 11. Android 2.1: Cifrado Bluetooth
- 12. Código fuente de la mensajería de Android
- 13. Cómo comparar la fecha del sistema con mydate en android 2.1?
- 14. ¿Cómo integrar Angular.js con un servicio de mensajería en tiempo real como Pusher o PubNub?
- 15. Barra de acción para Android 2.1
- 16. Servicio de mensajería que funciona como el EventBus de Guava
- 17. Camera.Parameters.FLASH_MODE_TORCH reemplazo para Android 2.1
- 18. GWT 2.1 ¿Tree o CellTree?
- 19. ¿Cómo implementar un sistema macro Lisp?
- 20. ¿Cómo implementar un sistema de comentarios anidados?
- 21. Cuándo utilizar actores en lugar de soluciones de mensajería como WebSphere MQ o Tibco Rendezvous?
- 22. Cómo hacer una GUI de mensajería instantánea con burbujas
- 23. Mensajería instantánea en Android con Google Cloud Messaging
- 24. PreferenceActivity funciona correctamente en Android 2.1, pero no 4.1 (relleno)
- 25. cómo implementar un sistema de pago en rieles
- 26. ¿Cómo hacer un seguimiento de un sistema de mensajería privado usando MongoDB?
- 27. ¿Cómo implementar el sistema de filtro en SQL?
- 28. Struts2 con Tiles 2.1 o 2.2
- 29. Uso de getRotationMatrix y getOrientation en Android 2.1
- 30. Nexus One: lanzamiento de Android 2.1, ¿DÓNDE está el SDK para 2.1?
¿cómo se determina qué están usando C2MD? ¿Pueden explicarlo, porque C2MD también utiliza el protocolo XMPP? ¿Por qué WhatsApp no usará su propio servicio en lugar de usar C2MD? – Hunt