@Nurshat

Как создать чат на android при помощи firebase?

Пришла такая идея попробовать создать чат под андроид работающий по такому алгоритму:
1. приложение отправляет сообщение на мой сервер.
2. сервер сохраняет сообщение и дает firebase`у команду на уведомление адресата о появлении нового сообщения.
3. firebase отправляет уведомление.
4. приложение адресата получив уведомление отправляет запрос на сервак и получает само сообщение.

Cерверную часть собираюсь писать на php.

Тут возникают такие вопросы, какие именно компоненты firebase надо использовать? Как обозначить конкретного адресата для отправки уведомления? На сколько вообще такой алгоритм имеет право на жизнь? И какие есть подводные камни?

Буду признателен любой помощи. Спасибо!
  • Вопрос задан
  • 654 просмотра
Пригласить эксперта
Ответы на вопрос 2
gadfi
@gadfi
https://gamega.org
а почему напрямую realtime database не заюзать ?
уведомления слать только если человека нет в чате, можно не заморачиваться логику бекнеда написать на node.js и развернуть на firebase function
Ответ написан
@grinat
На сервере почти никаких, единственное что нужно это fcmtoken. То есть приложение при первом запуске должно отправить fcmtoken, его сохранить на сервере. Затем когда приходит сообщение, надо определить fcm token получателя и через curl по моему Post запрос на сервер гугла отправить. Если чат общий, то там есть встроенные решения для отправки по группам, по моему просто просто доп параметр надо добавить. В приложении обработка стандартная, стандартный гугловский класс код разбирает. Подводных камней ноль, единственное, там два параметра есть для отправки пуша, первый выводит сообщения в notifications, а второй ничо не делает, а просто передает его в broadcast reciver приложения. И это, в андроиде нет ограничений для объема сообщения, то есть его можно на сервере вообще не хранить, а как есть отправлять, подделать его все равно не выйдет, все пуши подписываются.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы