即刻启动
一般情况下,用户可以在一到两分钟内对一款应用做出评估。如果你能利用这段时间迅速地呈现最有用的内容,就能充分激发新用户的兴趣,并且给所有用户带来出众的体验。
重要:绝不要在用户安装好你的应用之后告诉他们需要重启设备。重启需要花费时间,而且会让你的应用看起来非常难用且不可信赖。
如果出于内存使用或其他方面原因,使你的应用确实只有在设备重启之后才能正常工作,那么你需要首先解决这类问题。请参考
iOS应用开发指南中的“高效地使用内存”。
尽可能地避免使用无意义的启动画面(欢迎画面)或其他类似的启动体验。最好让用户在启动你的应用之后可以立刻开始使用。
推荐的模式(左图)与不推荐的模式(右图)
应用安装完成后,不要让用户必须进行设置才能使用。取而代之地:
将解决方案聚焦在80%的用户需求上。这样,多数用户不需要进行任何设置就可以开始使用,因为默认参数可以确保应用能够按照这部分用户所期望的那样进行工作。
尽可能地从其他来源获取信息。如果用户在iOS内置应用或系统设置当中输入的信息可以为你所用,那么就尽量向系统查询这些信息,不要再让用户输入一遍了。
如果确实需要用户进行安装设置,尽量让他们在你的应用内部进行输入。然后,尽快储存这些信息(例如在应用的设置项当中)。这样,用户在享受你的应用之前就不需要被迫切换到iOS的设置当中了。如果他们将来需要修改这些信息,可以在任何时候进入应用设置当中进行操作。
尽可能晚些让用户登录。比较理想的状况是,让用户在不登录的情况下也能在应用当中尽量多的浏览内容,并使用部分功能。如果在用户上手你的产品之前就强迫他们登录,则会导致启动流程变得累赘拖沓。
一般来说,要按照默认的屏幕定向方式启动应用。对于iPhone,竖屏是默认的定向方式,而对于iPad来说,设备当前所处的状态就是其默认定向方式。如果你的应用只能在横屏模式下运行,那么要始终以横屏状态启动,让用户在必要的时候自己调转设备的方向。
最好让横屏应用能够同时支持两种模式的横屏,也就是Home按键分别在左侧和右侧的状况。如果设备当前已经处于横屏状态,那么横屏应用就应该按照当前的定向方式加载,除非你有充分的理由不这样做。在其他情况下,可以按照Home按键在右侧的方式加载横屏应用。
可以提供一张与应用首屏看上去几乎一致的启动图片,iOS会在应用被打开的同时即刻展现这张图片,这可以让用户觉得你的应用加载起来非常快,降低对等待时间的感知,使真正的内容有相对充裕的时间可以进行加载。可以参考
启动图片了解相关的实现方法。
如果可能,不要让用户在初次加载应用时阅读免责声明或必须对用户协议进行确认。你可以直接在App Store当中展示这些内容,使人们在下载应用之前就能有所了解;不过,虽然这种方式通常能最大限度的减少麻烦的产生,但也不是一直可行的。如果在某些情况下你必须在应用内提供这类内容,那么要确保这些内容与整体UI保持和谐统一,与产品实际的业务功能带来的用户体验达成平衡。
在应用重启后,要恢复到用户退出时的状态,让他们可以中断的地方继续使用。不要让用户必须记住之前是通过怎样的步骤到达退出时的状态的。可以参考
状态的维持与重置来了解相关的实现方法。
时刻准备着退出
iOS应用永远不会有用来执行关闭或退出的操作。用户退出一个应用的方式就是切换到另外一个应用、回到系统主界面,或是使设备进入睡眠模式。
当人们从你的应用切换到其他地方,iOS的多任务机制就会将它转至背景当中,并使用其他应用的UI替换掉当前的。为了应对这种情况,你的应用应该具备以下能力:
及时地、尽可能频繁地保存用户数据,因为处于背景状态的应用随时都可能被终结。
退出时,尽可能在细节层面保存当前状态,使用户回到你的应用之后不会失去之前的上下文状态。例如,如果你的应用包含可滚动的数据列表,那么在退出时要保存当前的列表位置。
有些应用即使处于背景状态也需要保持工作,譬如,用户会希望在查看待办事项或玩游戏时让另外一款应用继续播放音乐。可以参考
多任务来了解怎样正确而优雅的处理这种情况。
永远不要以程序化的方式自动退出iOS应用,因为用户有可能将这种情况误解为程序崩溃。如果出于某些原因,你的应用无法按照预期正常的工作,你需要告诉用户当前的状态,并让他们了解自己能够做些什么。取决于问题的严重性,你有两种选择:
通过一个能够吸引用户注意力的界面描述当前问题,并提出执行建议。使用这样的界面作为反馈,可以让用户了解到应用本身并没有出现问题。这样还可以将主动权交还给用户,让他们决定执行矫正性的行为并继续使用应用,或是切换到其他应用。
如果只有一部分功能不可用了,那么可以在用户用到这些功能的时候,通过一个单独的界面或是弹出提示(alert)来告诉他们当前的情况。只在用户所访问的功能确实无法工作的时候再使用弹出提示。