Лучший подход к созданию приложения для чата iphone с restkit - PullRequest
0 голосов
/ 25 марта 2012

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

  • Должен ли я обновлять входящие сообщения каждые 5 минут?ИЛИ
  • Должен ли я обновляться при получении push-уведомления?ИЛИ И
  • я должен использовать очередь restkit для этого?
  • Должен ли я использовать данные ядра restkit?

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

СПАСИБО !!!

1 Ответ

1 голос
/ 25 марта 2012

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

  1. Пользователь запускает приложение.
  2. Приложение возобновляет работу после подвешивания к фону.
  3. Пользователь запускает приложение в ответ на push-уведомление. (вероятно, тот же код, что и 1).
  4. Приложение получает push-уведомление, пока оно активно.

Если ваш сервер надежно отправляет push-уведомления при возникновении события, вам не нужно вручную опрашивать.

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

Помните, что пользователь будет ожидать, что приложение хорошо справится с проблемами доступности сети. Очередь запросов выполнит для вас тесты достижимости и соответствующим образом поставит в очередь запросы до тех пор, пока сеть не станет доступной, однако вам может потребоваться прослушать уведомления и предоставить соответствующий ответ. Для этого вам необходимо зарегистрироваться для получения уведомлений RKReachabilityStateChangedNotification NSNotificationCenter, публикуемых платформой RestKit. Вам также может потребоваться сохранить неотправленные сообщения локально и повторить попытку позже, особенно если приложение приостановлено / завершено.

Не забудьте отслеживать какой-то уникальный идентификатор, который вы можете использовать, чтобы сообщить серверу, какое сообщение вы недавно получили. Затем сервер должен отправить вам массив, содержащий каждое сообщение после этой точки.

Наконец, Core Data - отличный способ хранить данные, которые должны сохраняться между запусками. С помощью RestKit (и по сути с основными данными) ваши данные удобно доступны в виде набора объектов, и вы можете выполнять мощные запросы к этим данным.

...