Ran*_*Ran 12 background push-notification ios
我希望我的应用程序能够 - 比如每12个小时 - 即使应用程序没有正常运行或在后台运行,向服务器发送HTTP请求,获取带有版本号的小文件,如果服务器上的版本高于客户端上的版本,然后将更多文件下载到磁盘,以便下次启动应用程序时,它将在磁盘上找到新内容.
哪些设计模式最适合ios中的此类任务?
我想到了一些,但我没那么有经验.
选项1在服务器上可能更重,实现起来可能更复杂(考虑使用ios newbe),但可能是实际后台更新的唯一选择.但即便如此,我仍然不希望用户必须对某些低级数据更新b/wa客户端和服务器做出反应(这就是它),所以除非推送通知可以直接进入应用程序并执行没有用户干预的东西,那么这个选项不会飞.
选项3-5都是可能的,听起来不是太难,但它们只能在应用程序位于前台时工作.
据我所知,后台应用程序只能播放音乐,获取位置更新或voip更新.甚至有这种黑客的声音试图逃避这种限制的无声声音.(并未获准进入商店).
也许在地方的限制是正当理由,让我怎么遵守游戏规则,并能够实现定期服务器的ping(或者更一般地说,解决周期同步的问题的B/W客户端和服务器,即使应用在BG )?
谢谢
我对你的问题没有一个明确的答案,只是一堆漫无边际的评论可以帮助你决定什么最适合你的情况.对不起,这是我能提供的最好的.
要记住的一件事是,应用程序不应该使用手机的任何数据计划配额,而不要让用户知道它正在下载内容.一些应用程序都是关于下载诸如Twitter客户端之类的东西,因此应用程序的性质告诉用户应用程序正在使用数据计划.其他应用程序(如绘图程序)几乎不需要下载,因此应通知用户需要下载.
由于Apple不允许开发人员选择在后台下载,因此使用iOS的人员会接受培训,等待他们的应用程序下载更新的数据.在等待下载时改善用户体验的典型方法是至少显示一个微调器,让用户知道应用程序正在运行.要进一步改进界面,请将下载发送到另一个线程,并允许人们继续使用该应用程序的其余部分.他们可以与旧数据交互,或使用不需要更新的应用程序部分.
Apple没有为程序员提供在大多数应用程序类型的后台下载新内容的机制.根据Apple的公告,iOS 5的报亭功能将允许订阅在后台更新.也许在未来我们开发人员将有更多的后台下载选项.
我在app商店中有一个使用方法5的应用程序,另一个使用方法3的应用程序.
如果人们希望尽快知道新数据是否可用,我会使用推送通知(方法1).这取决于主题.
iOS没有Android的服务(方法2)
我有一个应用程序,每次启动应用程序时检查RSS提要的新闻(方法3).此应用程序主要执行其他操作,但会在起始视图中显示Feed.由于应用程序是一个简单的实用程序,可以帮助人们找到特定的解决方案,因此RSS提要是辅助的.
我喜欢方法4中的计时器想法.如果你想让这个人有机会批准下载,计时器可以弹出警报视图,然后等待.这样,如果设备刚刚与您的应用程序保持在前台,那么应用程序实际上并不会下载某些内容.
我在当前可用的应用程序中实现方法5有一点变化.它只为众多视图中的一个下载数据.每次访问此视图时,它都会检查存储的时间以查看是否应下载新数据.然后它要求许可.
最方便的消息是通过推送通知通知用户更新,并且当您的应用程序启动时,它可能会显示一些“正在更新..”屏幕。
iO 中的主要设计概念之一是应用程序执行用户要求它执行的操作。因此,如果您需要安装数据密集型更新,则应该选择推送通知和更新对话框。如果您的更新非常频繁(您编写了大约 12 小时检查 -> 假设 24-48 小时更新周期),您可能希望在每次应用程序启动时加载新数据。Friendship for iPad 就是一个很好的例子 - 它们加载了大量的 html/javascript/css 来用作在 WebView 中显示 facebook 内容的框架,因为 facebook 的结构变化很快。
| 归档时间: |
|
| 查看次数: |
7362 次 |
| 最近记录: |