【问题标题】:How to check if message is pending with app in background如何检查消息是否在后台与应用程序挂起
【发布时间】:2013-10-08 21:22:21
【问题描述】:

我正在构建一个非常简单的信使应用程序,只是为了让我对这种类型的应用程序感兴趣。我想出的一般想法是:客户端 1 键入消息,发送到客户端 2。消息发送到我的 tcp/http 服务器,然后将消息发送到客户端 2。但是我不确定最后一步是如何发生的。

服务器如何定位手机并将消息推送给它?应用程序是否应该每隔几秒检查一次是否有消息在等待?如果应用被暂停(后台),你会怎么做?

这是否符合 UIBackgroundModes 下的后台提取条件?

The app regularly downloads and processes small
amounts of content from the network.

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    您可以使用苹果的 APN(苹果推送通知)进行远程推送通知。本质上,一旦服务器接收到 http/tcp 消息,它必须通过苹果的 apn 服务器向设备 2 发送推送通知。更多资讯here

    【讨论】:

    • 但这并不能保证消息会到达那里...而且我不确定您是否可以使用此数量的 APN。 whatsapp是怎么做到的?
    • 是的,不能保证。但这是您可以将消息推送到客户端的唯一方法。从 ios 7 开始,还有一种更新的替代方案。该应用程序可以定期从网络下载和处理少量内容。启用 Background Modes 选项会将 UIBackgroundModes 键添加到应用程序的 Info.plist 文件中。更多here
    • 重新阅读您编辑的问题。您可以这样做,也可以通过远程通知唤醒您的应用。我知道这不能保证,但这里有一个关于 apn reliability 的精彩帖子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2017-12-31
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    相关资源
    最近更新 更多