Как создать систему приглашений с помощью Firestore на Android - PullRequest
0 голосов
/ 02 октября 2018

Итак, я создал приложение для обмена списками на Android, которое использует Firestore DB.В настоящее время он имеет функцию создания нескольких списков, добавления / удаления / редактирования элементов и т. Д.

Теперь для последнего этапа я хочу создать систему приглашений, в которой один пользователь приглашает своего друга, а друг имеетвозможность принять или отклонить его приглашение.

текущий метод, над которым я работаю, создает временную коллекцию "приглашений", в которой электронная почта приглашенного пользователя будет идентификатором документа, а внутри будет коллекция приглашений:Каждое приглашение будет иметь идентификатор, идентификатор нужного списка и флаг состояния (логическое значение, которое указывает, было ли приглашение принято или нет)

, что будет лучшим подходом для этого вопроса?Мне нужно помнить такие вещи, как прослушивание новых приглашений, обработка приглашений несуществующих пользователей и т. Д.

надеюсь, что вы меня просветите!

1 Ответ

0 голосов
/ 03 октября 2018

Мне кажется, я знаю, в частности, что вы ищете, поэтому напишу вам возможное решение.Метод, который вы используете, будет работать, но самый простой способ решения этой проблемы - создать map внутри каждого пользовательского документа, который может содержать приглашения.

Firestore-root
   |
   --- users
        |
        --- userEmail
              |
              --- invites
              |     |
              |     --- friendUserEmail: false
              |     |
              |     --- friendUserEmail: false
              |
              --- //Other users details

Таким образом, вместо совместного использованиянепосредственно в список, вы добавляете адрес электронной почты друга в качестве ключа на карте и в качестве значения вы можете использовать логическое значение false.Теперь вы можете использовать add SnapshotListener в этом invites месте, чтобы увидеть, изменил ли один из его потомков значение на true или даже увидеть новое приглашение.Когда значение друга установлено в true, вы можете поделиться этим списком, как объяснено в этих руководствах .

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