Я провел много раз, исследуя обмен мгновенными сообщениями (а также уведомления) между различными платформами (android, ios приложение, веб-приложение).
Я выяснил основную концепцию ( Хотя я могу ошибаться. Пожалуйста, поправьте меня, если я ошибаюсь). То есть мне нужно:
- веб-сервер (скажем, он состоит из nodejs + express + socketio )
- Некоторые клиенты, которые будут подключены к сервер через socketio-client (android также может быть клиентом)
- Посредник сообщений (rabbitmq или redis или mqtt) также может использоваться для временного хранения входящих сообщений на нем и отправки его конечному пользователю после сохранения в базе данных
Основная проблема теперь связана с автономным уведомлением pu sh. Предположим, что веб-клиент отправляет сообщение клиенту android, а android теперь не в сети. Когда устройство вернется в оперативный режим, как вы можете sh уведомить его об ожидающем сообщении.