Intereting Posts
Как сделать снимок экрана на экране Android Surface View? Android: запуск службы при загрузке, но не запуск графического интерфейса Android Studio: Исключить файл ресурсов в ресурсах sourceSets Измерение кампании с помощью собственного BroadcastReceiver Непредсказуемое поведение при доступе к представлению из другого потока Android Intent для отправки электронной почты с приложением Как рассчитать номер недели для данной даты Android Android-приложение и myBatis Опубликовать данные в webview в android Ошибка android динамически загружает libc ++. Поэтому родная библиотека Не удалось подключиться к мобильному устройству Bluetooth Bluetooth с помощью Android BluetoothProfile OverridePendingTransition для плавной активности в режиме ожидания Android AutoCompleteTextView onItemSelectedListener не запускается с помощью клавиатуры bluetooth Как передать растровое изображение из одной активности в другую Android USB Vendor ID для неизвестного бренда

Как реализовать Beluga или WhatsApp как систему обмена сообщениями в Android 2.1

Я пытаюсь разработать приложение для сообщений в своем приложении для Android. Сообщение будет похоже на whatsapp и beluga. Я искал ее и нашел, что C2DM Android 2.2 может отправлять push-уведомления на устройство. Однако это не доступно на Android 2.1. Кто-нибудь знает, как whatsapp отправляет уведомления для устройств 2.1?

Для Android: Whatsapp построен на C2DM, и когда приложение открывается, он открывает подключение XMPP к своей службе, чтобы мгновенно доставлять сообщения. Они также могут использовать MQTT в качестве протокола для минимизации использования батареи. Это в основном это.

Изменить: я узнал больше, Facebook использует MQTT в своем приложении для обмена сообщениями. Whatsapp построен на XMPP с их собственными расширениями. Их серверная часть работает поверх ejabbard (реализация XMPP в erlang). http://www.ejabberd.im/

На устройствах pre 2.1 WhatsApp, вероятно, поддерживает подключение к своим серверам XMPP в фоновом режиме, но это не очень удобно для работы от батареи.

Теперь C2DM заменяется GCM (облачной почтовой службой Google) . Вы можете использовать его для доставки уведомлений в свое приложение. Для обмена сообщениями следует полагаться на такие протоколы, как xmpp (whatsapp), mqtt (facebook messenger), mtproto (телеграмма) и т. Д.

Если вы хотите ознакомиться с GCM. Попробуйте этот учебник от appsrox. Создайте приложение мгновенных сообщений с помощью Google Cloud Messaging (GCM)

Они также используют GCM для доставки сообщений. Это не устраивает для производства, но это отличный ресурс для людей, которые хотят разработать приложение для Android-приложений для обмена мгновенными сообщениями.

Я не знаю, какая именно технология используется в whatsapp. Однако, если я должен внедрять уведомления, в которых нет поддержки push-уведомлений от ОС, я могу сделать две вещи:

  1. Опросите удаленный сервер каждые X секунд и проверьте наличие новых уведомлений (это более дорогой выбор).
  2. Запустите фоновый сервис, поддерживайте соединение с удаленным сервером, который будет передавать мне любые уведомления, которые должны быть получены (вроде моей, как моя собственная реализация push-уведомления).