Отправка сообщения пользовательскому пользователю с использованием firebase - PullRequest
0 голосов
/ 11 сентября 2018

Я бы хотел пообщаться в чате между двумя пользователями.Мне нужно отправить сообщение пользовательскому пользователю.Сценарий:

  1. Пользователь1 получает идентификатор пользователя2 от моего сервера
  2. Мой сервер получает идентификатор пользователя2 от Firebase (возможно, с использованием администратора Firebase)
  3. Мой сервер возвращает идентификатор пользователя2 пользователю1
  4. Пользователь1 отправляет сообщение Пользователю2 через firebase

Возможно ли это сделать?Нужно ли использовать Firebase Admin + FCM или что-то еще?

1 Ответ

0 голосов
/ 11 сентября 2018

[Дайте вам простое руководство и логику здесь]

Один из самых простых способов реализовать это с помощью Cloud Firestore .

Вам нужно создать 2 таблицы , одну для users и одну для chat.Пользователи будут использоваться для хранения информации о пользователях, включая UID , электронные письма , друзей (массив для хранения списка друзей), чаты (массив, для хранения списка чатов) и т. Д. Пока будет использоваться чат для хранения всех чатов.(Вы можете создать свою собственную базу данных, некоторые указания можно найти здесь )

Когда пользователь вошел в систему с Firebase Auth, вы можете запросить базу данных, чтобы получить информацию из Firestore.Предполагая, что вы помещаете все в некоторый элемент пользовательского интерфейса (recyclerview), после того, как вы щелкнете по другу пользователя (друзья хранятся в облачном хранилище файлов, указанном выше), новый документ чата будет создан в базе данных / таблице чата и подзапись документа другого пользователя (Пользователь 2) в таблице / базе данных пользователей, обновите массив чата новым идентификатором документа.Для интерфейса пользовательского интерфейса пользователя 2 будет создан / обновлен новый чат, поскольку в Firebase есть что-то вроде onChangeListener () для обновления вашего клиента.

Вам нужно будет создать свой пользовательский интерфейс для чата, позволяющего пользователю отправлять сообщения.Пользовательский интерфейс должен получить все записи чата из документа чата.Когда какая-либо сторона отправляет новое сообщение, обновите сообщение в документе чата.

В общем, это грубая идея, вы можете получить все эти ссылки из Firebase Doc.

Для уведомления вы можете использовать Firebase Cloud Messaging для уведомления пользователя!

Фактическая функция FCM, указанная в документе:

Используя FCM, выможет уведомить клиентское приложение о доступности новой электронной почты или других данных для синхронизации.Вы можете отправлять уведомления для стимулирования повторного участия и удержания пользователей.В случаях использования, таких как обмен мгновенными сообщениями, сообщение может передавать полезную нагрузку до 4 КБ клиентскому приложению.

Следовательно, оно не предназначено для пользователя, а предназначено для администратора приложения для пользователя.для определенных событий.

Для администратора не рекомендуется постоянно вызывать администратора для производственного потребительского приложения.

P / s: я не кормлю ложкой с кодом, а чтобыпоощряйте людей учиться на собственных исследованиях.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...