立即开始
一般经常认为人们最多花一到两分钟时间来评估一个新的app。当你充分利用这段简短的时间立马展示有用的内容时,可以挑起新用户的兴趣并且给所有的用户一个超凡的体验。
IMPORTANT
不要告诉用户在安装你的app后重启设备。重启需要时间,而且会使你的app看上去不可靠以及难以使用。
如果你的app有着内存使用或其他问题让其必须在系统刚启动时才能运行的话,你需要处理这些问题。查看Use Memory Efficiently获取一些开发一个优化的app的指导。
尽可能地避免展示一个启动画面或者其他启动体验。用户能立即使用的你的app是最好的。
避免要求用户提供设置信息。换成:
- 专注于80%的用户的需求。当这样做时,大部分人们不需要去提供任何设置信息,因为app已经按照他们预期的来设置了。如果有功能只有一小部分用户需要——或者大部分用户只需要一次——舍弃它。
- 从其他来源获取尽可能多的信息。如果你可以使用任何人们在安装app时提供的或者设备的设置中的信息,向系统查询这些值;不要要求人们再输入一遍。
- 如果你必须获取设置信息,提示人们在你的app内输入它们。然后尽快存储这些信息(在你的app的设置里)。这样用户就不会在享受你的app之前被强制去切换到设置里。如果人们需要在之后修改这些信息,他们可以在任何时间去app的设置里改。
尽可能地推迟登录的要求。用户最好可以在没有登录的情况下进入你app的大部分界面并使用一些功能。比如说,App Store在用户决定要购买一些东西之前都不会要求用户登录。用户经常抛弃那些在他们没有使用任何功能前就强迫他们登录的app。
如果用户必须登录,在登录界面给出一个简短的、友好的解释说明登录的理由以及这能给他们带来什么好处。
在提供启动页前小心的考虑。(启动页介绍了一个app的功能以及解释如何执行一般的任务。)当你考虑启动页之前,尽力去设计你的app使其功能和任务都是直观而易于发现的。启动页并不是一个好的app设计的替代品。如果你仍然觉得启动页是必须的,遵循以下这些指导来创建一个简单的、目标明确的体验,而不妨碍到用户。
- 只给用户他们开始使用需要的信息。一个好的启动页体验会告诉用户首先需要做些什么,或者简短地示范一些大部分用户感兴趣的功能。如果在用户有机会探索你的app之前给了太多的信息,会让你的用户觉得要记住一些他们暂时不需要的细节,并且会觉得你的app很难使用。如果在一些具体的任务上需要额外的帮助,只在用户执行这些任务时提供这些帮助。
- 使用动画和交互来吸引用户,并帮助他们在做中学。只在文字能丰富体验时添加少量的文字;不要指望用户去阅读长篇大论。比如说,不要在可以用动画告诉用户如何使用时用文字去描述怎么执行的一个简单的任务。引导用户去执行一个更复杂的任务时,你可以添加一个短暂地的覆盖视图去简要地描述用户将要做的每一步。尽量避免使用app的截屏,因为他们不是交互式的而且用户会把他们和app的UI弄混。
- 让用户可以简单地去除或跳过启动页。在用户看了启动页之后,他们也许不会想再看一次;还有一些用户也许根本就不想看到它。确保记住用户的选择并且不要让用户在每一次打开你的app时都再做一次。
不要太早地要你的用户评价你的app。太早地要求评价会打扰用户,也会降低得到的反馈的实用性。要鼓励深思熟虑的反馈,就要确保用户在你要求评价之前对你的app形成一个看法。比如说,你可以等到用户浏览了一个最低限度的不同界面的数量或者执行了一个最低限度的任务的数量再要求。
一般来说,在设备当前的方向下启动。不过,如果你的app只在一个方向上运行,你应该一直在那个方向上启动然后让用户旋转他们的设备。比如说,如果一个游戏或者视频app只在横向上运行,横向启动是最合适的,即使设备现在是垂直的。这样的话,如果用户在设备是垂直时启动app,他们就知道要旋转设备来查看内容了。
NOTE
一个只支持横向的app最好可以支持各种横向——就是说,Home键在左边或者在右边都可以。如果设备已经是横向的了,一个只支持横向的app应该在当前这个横向上启动,除非有很好的理由不这么做。否则,就在Home键在左边或者右边的横向都要能够启动。(查看Adaptivity and Layout来学习更多关于支持不同设备方向的内容。)
提供一个启动文件。iOS在你的app启动时展示一个图片——让你的用户觉得你的app很快,并能给你的app足够的时间去启动。查看Launch Files来学习如何创建一个启动文件。
如果可能的话,避免要求用户在他们做任何其他事情之前去阅读一个免责声明或者同意一个终端用户许可协议。你可以让App Store来展示你的免责声明或者终端用户许可协议(EULA),这样人们可以在他们获取到app之前访问这些内容。如果你必须在你的app内提供这些条目,确保让他们和你的UI和谐地融合在一起,并平衡好商业需求和用户体验的需求。
当你的app重启时,修复它的状态这样用户就可以在他们退出的地方继续。人们不应该要记住他们到达之前所在界面的步骤。查看Preserving Your App‘s Visual Appearance Across Launches来学习更多关于保护和修复你的app的状态的有效方式。
永远准备停止
一个iOS app从不提供一个关闭或退出选项。人们会在切换到其他app、回到主屏幕或者让他们的设备进入睡眠模式时停止使用这个app。
当用户从你的app中切换出去时,iOS多任务处理器会将其过渡到后台去并且用新切换的app UI代替原有的UI。为这个情况做准备,你应该:
- 尽可能快的并以尽量合理的频率保存用户数据。做这个是因为在后台的app会随时被告知退出或终止。
- 尽可能在停止时保存当前最好的细节状态。这样做的话,人们在重新切回你的app时不会失去他们的使用环境。比如说,如果你的app展示滚动数据,保存当前滚动的位置。查看Preserving Your App‘s Visual Appearance Across Launches来学习更多关于保护和修复你的app的状态的有效方式。
一些app需要在用户前台运行其他app时保持在后台运行。比如说,用户会希望在他们使用一个app去检查他们的to-do列表或者玩一个游戏时,持续在另一个app中听歌。查看Multitasking来学习如何准确和得体地处理多任务。
永远不要以编程的方式退出一个iOS app。人们倾向于将这种情况视为闪退。如果某些东西因为功能问题阻止了你的app正常运行,你需要告诉用户这个情况并且解释他们可以为这个情况做些什么。这里有两个好方法:
如果所有的app功能都无法获取,展示一个界面描述当前的状态并给出一些修复的建议。这些信息可以给予用户反馈并让他们安心,说明你的app本身并没有出任何问题。这也可以让用户来控制,让他们决定是进行修复来继续使用你的app还是切换到其他的app。
如果只有部分的app功能无法获取,当人们想要使用这个功能是显示一个界面或者一个警告框来告诉人们。否则,人们可能会使用其他的app。如果你打算使用一个警告框,确保只在人们尝试获取无法获取的功能时才显示它。
本文翻译自苹果官方开发文档