самый простой способ сделать чат между двумя пользователями с помощью Parse API

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

Что я пытаюсь сделать, так это найти самый простой способ сделать чат между двумя пользователями. мой код довольно прост, у меня есть текстовое поле и одна кнопка, скажем, userOne отправить эти числа: 1234.

Затем userTwo помещает те же числа в текстовое поле и нажимает кнопку, чтобы отправить его parse.com, а затем у меня есть запрос, чтобы найти его и посмотреть, есть ли совпадение между пользователями.

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

Теперь я хотел бы узнать от вас все плюсы ( :-D ), какие у меня есть варианты,

Я подумал о системе уведомлений между пользователями (возможно ли это вообще?) или, может быть (поскольку чаты сложны в создании), создать UILabel с кодом NSTimer, который будет обновляться каждые 2 секунды, и еще одно текстовое поле, в котором пользователи могут отправлять текст друг другу. .

У меня есть еще один вопрос: как только я нашел второй идентификатор пользователя, как я могу сохранить его и использовать позже?

Нужно ли мне сохранять его в NSString?

в любом случае, это мой код для запроса (когда вы нажимаете кнопку для отправки на номер)

PFObject *addValues= [PFObject objectWithClassName:@"someNumber"];
[addValues setObject:someNumbers forKey:@"numbers"];
[addValues setObject:whoIsTheUser forKey:@"theUser"];
[addValues saveInBackground];



PFQuery* numQuery = [PFQuery queryWithClassName:@"someNumber"];
[numQuery whereKey:@"numbers" equalTo:someNumbers];
[numQuery whereKey:@"theUser" notEqualTo:[PFUser currentUser]];
[numQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if(!error) {
        //alert view for thanking the user for sending a message
        UIAlertView *messageForSending = [[UIAlertView alloc]initWithTitle:@"thank you" 
                                                                   message:@"the details has been send"
                                                                  delegate:nil
                                                         cancelButtonTitle:@"okay"
                                                         otherButtonTitles:nil];
        [messageForSending show];

        for(PFObject *numObject in objects) {
            // the numbers if found are right here

            if (objects.count > 1 ) {
                NSLog(@"yay we found %lu objects", (unsigned long)objects.count);
                // Here I can see what is the ID of the second user I want to create chat with
                NSLog(@" the numobject is  %@ " , numObject);
            } else {
                NSLog(@"there is no match ");
                // showing later UIAlert that there is no match             
            }

любая помощь будет оценена! Спасибо вам всем .


person XcodeNOOB    schedule 13.03.2014    source источник
comment
Вы также пропустили половину кода. Пожалуйста, не могли бы вы заполнить его. И постарайтесь, чтобы он был красиво отформатирован :D   -  person Fogmeister    schedule 13.03.2014
comment
Привет, я не пропустил половину кода, это весь код, который у меня есть для запроса. чего я не знаю, так это как сохранить идентификатор пользователя и использовать его позже, плюс я все еще не понимаю, как создать чат между ними двумя пользователями. спасибо, что ответили.   -  person XcodeNOOB    schedule 13.03.2014


Ответы (1)


для модели БД вы могли бы иметь:

Таблица пользователей

Разбор таблицы пользователей

Таблица

Простая таблица, возможно, с полем имени комнаты и полем указателя на создателя пользователя.

Таблица участников

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

Таблица сообщений

Простая таблица с полем сообщения и полем указателя на участника, что означает члена пользователя определенной комнаты.


Кроме того (как вы, наверное, уже знаете), каждая таблица в Parse имеет поля по умолчанию: «objectId», «createdAt», «updatedAt» и «ACL». Эти поля (кроме ACL) заполняются автоматически.

Надеюсь это поможет

person Luca Iaco    schedule 13.03.2014
comment
спасибо за ответ, я бы хотел, чтобы был учебник, чтобы указать мне на это. Я собираюсь попробовать это сам и посмотреть, что произойдет. - person XcodeNOOB; 13.03.2014