你如何在iOS中提供实时推送通知?

问题描述:

我们有一个启用了APNS的XMPP聊天客户端。每当其他用户使应用程序处于非活动状态时,我们会触发服务器上的一个按钮,以提醒其他用户他在应用程序中有未读消息。我们目前的实现是我们有一个队列将它传递给一个cron作业,每分钟运行一次,构造有效负载并将其转发给Apple服务器。现在的问题是,由于应用程序是一个聊天客户端,用户期望他们将立即收到推送通知(这个延迟时间几秒钟是可以接受的,因为我知道即使是苹果也可以接受而在发送推送通知时,但以我的经验,客户端需要几秒钟才能收到它)。你如何在iOS中提供实时推送通知?

现在我知道Apple不像C2DM(现在称为GCM)那样对请求有限制,所以我们把它放在队列中,并将它传递给cron作业。其他应用程序正在这样做,我真的不知道他们是如何真正接近实时。

下面是我的一些问题:

  • 我们需要改变我们的实现? (队列和cron作业)。
  • 是否有多个提供商解决该问题?如果是的话,这有什么要求?
  • 是否有任何付费服务已经在这样做?任何人都可以点名吗?

看看城市的飞艇。 http://urbanairship.com

关于付费服务请检查http://pushwoosh.com,他们有API集成作为其中一个选项。这可能有帮助。