2017-01-19 6 views
0

Я хотел бы создать индивидуальное приложение для чата iOS с использованием Firebase. Единственные примеры, которые я нашел для реализации группового чата, и я не уверен, как структурировать базу данных для индивидуального общения.Индивидуальный чат с Firebase

Мой главный вопрос: Как послушать новые чаты/сообщения? Скажем user1 хочет общаться с пользователь2, и они не разговаривали раньше. Как user1 отправить сообщение user2?

Может ли кто-нибудь указать мне в правильном направлении для осуществления индивидуального общения с Firebase?

Спасибо!

+0

Это невероятно широкая тема. Но если вам интересно, как заставить пользователей войти в один и тот же чат, см. Http://stackoverflow.com/questions/33540479/best-way-to-manage-chat-channels-in-firebase –

+0

Спасибо, что немного разобрался! Но как я могу сообщить user2, что user1 отправил ему сообщение? Какие изменения базы данных должны выполняться пользователем2? –

ответ

2

Для начала создайте структуру с очень высоким уровнем.

uid_0 будет наблюдать свой узел incoming_messages, а uid_1 будет наблюдать свой узел incoming_messages.

uid_1 отправляет сообщение uid_0, это сообщение будет иметь ключ, созданный с childByAutoId, который сделает его уникальным. uid_0 читает его и отвечает, отправляя сообщение в узел uid_1 incoming_messages.

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

uid_0 
    incoming_messages 
    -Y999nsjnss8s 
     msg: "hello to uid_0 from uid_1" 
     from: "uid_1" 

uid_1 
    incoming_messages 
    -Yu99jis9jms 
     msg: "this is uid_0 responding to uid_1 message" 
     from: "uid_0 
+0

Отличная идея, спасибо! –

+0

Как сделать запросы с запросом на страницы с этой структурой? – Birowsky

+0

@Birowsky Вы спрашиваете, как загрузить определенное количество сообщений? т. е. загрузить последние 5 сообщений или последние 10 сообщений? – Jay

Смежные вопросы