В соответствии с вашим вопросом я создал некоторую структуру данных: 
Ответ на вопрос 1 :: В структуре данных я добавил дочерний узел для пользователя: A - Inviteby , в котором есть идентификаторы пользователя, отправившего приглашение пользователю: A.
Поэтому добавьте макет активности в свою учетную запись пользователя, который имеет функции, чтобы показать все пользователь вашей системы, а затем функциональность, чтобы отправить приглашение, нажав на конкретного пользователя. В бэкэнде это делается путем взятия UserId приглашенных пользователей и обновления в его узле Inviteby .
В соответствии с примером следующей структуры данных, пользователь: F находится в вашей системе и он приглашен Пользователю: A.
Ответ на вопрос 2: Согласно структуре данных, Пользователь: A пригласил Пользователя: B, Пользователь: C, и пользователь: D. Пользователь: B и Пользователь: C принял приглашение и Пользователь: D не принял приглашение.
теперь пришло к узлу данных пользователя: A , Пользователь: B и Пользователь: C обновил данные.
Вы можете добавить функциональность таким образом, чтобы, если приглашениеstatus Пользователей было принято, тогда и затем они могут обновить или просмотреть Данные Узел пользователя: A
Тем не менее, если у вас есть какой-либо запрос, дайте мне знать, и если вы удовлетворены ответом, то проголосуйте и отметьте зеленую отметку. Спасибо