В подобных случаях обычно используется подход для установки значений переменных - для приложений чатов обычно используются переменные user
, timestamp
доступа и room_id
- так что вы можете проверить, если они не пустые и добавить сообщение altogheter. В вашем случае при проверке вы будете использовать третью переменную, отличную от timestamp
.
Учитывая это, я считаю, что хорошей конфигурацией для вашей проверки будет следующее - этот код не проверен и вам нужно будет изменить его больше для своего использования, но я считаю, что это хорошая отправная точка, как базовая c модель для вас .
".read": "root.child('members/'+$room_id+'/'+auth.uid+joined).exists() && !data.exists() && newData.exists()",
// the object to write must have a name, message, and be in the room
".validate": "newData.hasChildren(['user', 'message', 'joined'])",
Как и в приведенном выше примере кода, проверка будет выполнена, как только у нее появятся все значения, которые вы хотите проверить. Примером этого кода в полной версии можно ознакомиться в официальной документации .
Еще один пример простого чата с Firebase, к которому я бы порекомендовал вам получить доступ, находится в следующем хранилище: katowulf / gist: 4741111
Дайте мне знать, если информация помогла вам!