2015-10-25 3 views
-2

Я пытаюсь реализовать частное приложение чата (веб-сайт) с использованием firebase, но я буду придерживаться частной логики сообщений. Вот мой код, но его только для группового чата не частнойРеализовать частный чат с использованием firebase

var messagesRef = new Firebase('https://sample.firebaseio.com/users'); 
var message="Hi firebase" 
var userid="1" 
//send message 
messagesRef.push({userid:userid, message:message}); 

//list the messages 
messagesRef.limitToLast(10).on('child_added', function (snapshot) { 
    //get the chat messages 
    var data = snapshot.val(); 
    var username = data.name; 
    var message = data.text; 
    shomessage.append("from:"+username+"msg:"+message); 
} 

Пусть у меня есть два пользователя А и В (каждый пользователь имеет уникальный идентификатор) будет в привате, что это изменения в коде выше? ?

Примечание: Я не хотел бы использовать firechat апи

ответ

2

Там нет ни одного ответа, но вот несколько основных вариантов:

Структура

Users 
    user_id_0 
    messages 
     message_id_0 
     from: user_id_1 
     message: "Hello to user_id_0" 
    user_id_1 
    messages 
     message_id_1 
     from: user_id_0 
     message: "Hello back to user_id_1" 

user_id_0 и user_id_1 бы наблюдая свой собственный узел сообщений для добавления сообщений.

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

Messages 
    user_id_0 
    message_id_0 
     from: user_id_1 
     message: "Hello to user_id_0" 
    user_id_1 
    message_id_1 
     from: user_id_0 
     message: "Hello to user_id_1" 
    public 
    message_id_3 
     from: user_id_0 
     message: "Hello to the public" 

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

Messages 
    message_id_0 
    from: user_id_0 
    to: user_id_1 
    type: "private" 
    message: "a private message" 
    message_id_1 
    from: user_id_0 
    type: "public" 
    message: "a public message" 

Надеюсь, один из них подойдет вашей модели.

+0

Я новичок в firebase и хотел бы знать, доступна ли какая-либо документация для p2p-чата, это будет здорово! Спасибо –

+0

@ShashankShah Да, вы можете сделать p2p-чат с Firebase. Пожалуйста, начните с руководства Firebase Getting Started и проработайте это. Как только вы лучше понимаете Firebase, вы можете увидеть, как это работает для приложения чата. – Jay

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