【问题标题】:Best approach to do a chat iphone app with restkit用 restkit 做一个聊天 iphone 应用程序的最佳方法
【发布时间】:2012-03-24 22:55:40
【问题描述】:

我正在使用 restkit 和推送通知,并且我还构建了界面,所以这是我的问题,我想知道您对如何使用 restkit 构建聊天应用程序结构的看法。

  • 我应该每 5 分钟更新一次收到的消息吗?或
  • 我应该在收到推送通知时更新吗?要么 和
  • 我应该使用 restkit 队列来执行此操作吗?
  • 我应该使用 restkit 核心数据吗?

所以,我想我的问题是向服务器询问新消息的最佳方式.. 那么您的建议是什么????嗯……有没有例子或框架?

谢谢!!!

【问题讨论】:

  • 不确定您的所有问题,但您应该在收到推送通知时进行更新。 Apple 建立了一个很棒的系统,可以让您立即收到通知,而无需使用太多电池。每五分钟检查一次会极大地降低用户体验,并且更频繁地检查确实会伤害电池。你真的不能在这里获胜,没有手动更新,或者更好的是使用推送通知

标签: iphone chat restkit


【解决方案1】:

如果您正在构建任何类型的聊天应用程序,您的用户会期望他们的消息会立即收到。我将假设您的服务器在收到消息后立即发送推送通知。当以下事件发生时,您应该轮询服务器以获取新消息:

  1. 用户启动应用程序。
  2. 应用程序在暂停到后台后恢复。
  3. 用户启动应用程序以响应推送通知。 (可能与 1 的代码相同)。
  4. 应用程序在其处于活动状态时会收到推送通知。

如果您的服务器在事件发生时可靠地发送推送通知,则您不需要手动轮询。

您不需要直接与 RestKit 请求队列进行交互,因为这样微不足道。 RKClient 可以安全地为您管理它。

请记住,用户希望应用能够很好地处理网络可达性问题。请求队列将为您进行可达性测试,并适当地对请求进行排队,直到网络可用,但是您可能需要侦听通知并提供适当的响应。为此,您应该注册由 RestKit 框架发布的RKReachabilityStateChangedNotificationNSNotificationCenter 通知。您可能还需要在本地保存未发送的消息并稍后重试,尤其是在应用程序暂停/终止的情况下。

请记住跟踪某种唯一标识符,您可以使用它来告诉服务器您最近获取的消息。然后服务器应该向您发送一个包含该点之后的每条消息的数组。

最后,Core Data 是存储必须在启动之间保持的数据的好方法。使用 RestKit(以及固有的核心数据),您的数据可以作为对象集合方便地使用,并且您可以对这些数据执行强大的查询。

【讨论】:

  • 嘿,最后我使用restkit和核心数据实现了聊天,正如你所说,它真的很强大,它让我的生活更轻松XDDD谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多