三、GameKit
GameKit可用于创建社交游戏。游戏可以发布分数和成就、显示排行榜、添加好友、发现新游戏等等。
不要设计自定义登录屏幕。如果用户尚未在设备上登录,系统会自动提示用户登录支持GameKit的游戏。因此,显示自定义登录屏幕是重复的,可能会让那些期望标准屏幕的用户感到困惑。
通常,使用标准的GameKit接口。在极少数情况下,游戏可能包含GameKit提供的自定义版本的屏幕,但这样做可能会让用户感到困惑。标准的GameKit屏幕旨在为所有苹果平台上的大型游戏社区提供熟悉的体验。
让用户关闭语音聊天。有些用户可能不希望在开始游戏时自动开启语音聊天,且所有人都喜欢在某些情况下关闭语音聊天的功能。
有关开发人员指南,请参阅 GameKit。
四、HealthKit
Health应用程序可用作iOS中健康和健身数据的中心存储库。经用户许可,使用HealthKit构建的应用程序可与Health应用程序连接并共享信息。例如,用户可以允许营养应用程序检索体重和活动数据,因此该应用可以定义卡路里消耗目标并提供饮食建议。营养应用程序还可以将实际消耗的卡路里数量发送至Health应用程序,以包含在全局进度指标中并与其他应用程序共享。
出于正当理由请求访问健康数据。HealthKit设计是用于健康和健身的应用程序,而用户不太可能信任请求访问不必要或看似不相关的私人健康数据的应用。
仅在需要时请求访问健康数据。例如,在填写瘦身方案时请求访问体重信息是有意义的,但不要在应用程序启动后立即进行。请求符合上下文情境的健康数据有助于传达您的应用程序意图。
使用标准权限屏幕来阐明意图。当被要求同意访问健康数据时,用户希望看到的是系统提供的权限屏幕。在此屏幕上添加简短但具描述性的信息,以阐明为什么需要这些信息以及授予访问权限的好处。避免添加复制标准权限屏幕行为或内容的自定义屏幕。
仅通过系统的隐私设置管理健康数据共享。用户希望在“设置”>“隐私”中全局管理对健康信息的访问。不要在您的应用程序中构建影响健康数据流的额外屏幕,这会导致迷惑和无效界面。
不要使用健康应用程序图标、图像或屏幕截图。与所有Apple图像一样,这些设计也受版权保护,不应出现在您的应用或营销材料中。您可以在您的应用中添加一个活动环元素,以显示Move(移动)、Exercise(锻炼)和Stand(站立)进度。请参阅 Activity Rings。
不要使用HealthKit这个术语。HealthKit是用于访问存储在Health应用程序中的数据的开发框架。 如果您需要解释您的应用程序如何处理这些数据,请使用“健康应用程序”这一词语。例如,您可以会说您的应用“将信息保存到健康应用”或“使用健康应用的数据”。
开发指导请参阅 HealthKit。
Activity Rings
应用程序可以通过显示 Activity ring元素来增强其健康指标的直观提供,该元素可显示个人Move(移动)、Exercise(锻炼)和Stand(站立)进程。元素始终包含三个环,其颜色和含义与Activity应用程序提供的相匹配。
仅对Move,Exercise和Stand信息使用Activity rings。Activity rings旨在始终表示这些特定领域的进程,不要尝试复制或修改Activity rings以用于其他目的。切勿使用Activity rings来显示其他类型的数据。永远不要在另一个环状元素中显示Move,Exercise和Stand progress。
使用 Activity rings显示单个人的进程。切勿使用Activity rings展示多个人的数据,并确保明确显示展示的是谁的进程情况,例如使用标签、照片或头像。
不要使用Activity rings来装饰。活动环应该为用户提供信息,而不是美化你的应用程序。切勿在标签或背景图形中显示Activity rings。
不要使用Activity rings进行品牌塑造。 严格使用Activity rings来显示应用中的活动进度。切勿在应用程序的图标或市场营销材料中使用Activity rings。
协调Activity rings和背景颜色。为了一致的用户体验,不管Activity rings出现在哪里,它的视觉外观必须始终保持不变。切勿使用滤镜、更改颜色或修改透明度来改变环或背景的外观。相反,设计周围界面来与环融合。例如,将环包围在一个圆圈内。适当地缩放环,以免它们看起来不合适。
保持Activity ring边距。Activity ring元素必须包含不小于环之间距离的最小外边距,切勿允许其他元件收割、阻挡或侵占此边缘或环本身。要在圆圈内显示Activity ring元素,请调整封闭视图的角半径,而不是使用圆形遮罩。
区分Activity rings和其他环状元素。混合不同的环风格可能会导致视觉混乱的界面。如果您必须包含其他环,请使用填充、线条或标签将它们与Activity rings区分开。颜色和比例也可以帮助提供视觉分离。
仅在Activity通知中提供应用程序特定信息。系统已经提供移动、锻炼和站立进度更新,不要重复这些相同的信息,也不要在应用程序的通知中显示Activity ring元素。在通知中指明活动进度是很好的做法,但是以你应用程序独特的方式进行并且不会复制系统提供的相同信息。
开发指导请参阅 HKActivityRingView 。
五、HomeKit
HomeKit让用户可以在iPhone、iPad和Apple Watch上使用Siri或家庭应用程序安全地控制家中连接的配件。在iOS中,家庭应用程序还允许用户管理和配置配件。您的iOS、tvOS或watchOS应用程序也可以与HomeKit集成,以提供定制或品牌的家庭自动化体验。
HomeKit术语
家庭自动化可能会令人生畏。为了让它易于使用,所有的HomeKit应用程序都应该使用用户能够理解的友好对话语言。
家庭(homes)
在HomeKit中,家庭代表实体家庭、办公室或与用户相关的其他位置。�J48�'SG
房间(Rooms)
一个房间代表了家中的实体房间。房间没有像大小或位置这些特定特征,而只是有意义的名称,如卧室或办公室。房间允许配件根据其在家中的实际位置进行组织和控制,房间还可以启用语音命令,如“Siri,打开卧室灯”。
区域(Zones)
区域表示家中的特定区域,例如楼上或楼下。区域允许将房间(通常是彼此靠近的)分组、组织和控制。区域也启用语音命令,如“Siri,打开楼上的所有灯”。
配件、服务、特征和操作( Accessories, Services, Characteristics, and Actions )
配件是实体的,连接HomeKit的电器,如吊扇、灯光或相机。用户在家中的房间添加家用电器,电器与iCloud或服务器联系以接收指令,响应这些指令并提供状态更新。此联系直接进行,或者通过集线器运行的家中iOS设备(如Apple TV或iPad)进行。
配件的可控特征(例如连接灯上的灯)称为服务。一些配件提供多种服务,例如,连接的车库门可能允许您单独控制灯光和门,或者连接的插座可以让您分别控制顶部插座和底部插座。应用程序实际上不使用单词“服务", 相反使用描述服务的术语,例如“厨房灯”和“厨房风扇”。
特征是服务的可控属性。例如,在吊扇上,风扇服务可能具有速度(关闭,低,中,高)特性,而照明服务可能具有亮度特性。应用程序实际上不使用单词“特征”。 相反,使用描述服务的术语,例如“速度”和“亮度”。
操作是改变服务特征的行为。例如,调整风扇的速度或灯光的亮度。操作由用户和自动化发起。
场景(Scenes)
“场景”是在一个或多个配件上控制一个或多个服务的一组操作。例如,有用户可能会通过降低色调并使客厅中的灯光变暗,来创建一个电影时间场景;或者打开灯光、提高色调并启动厨房中的咖啡机,来创建早晨的场景。
自动化(Automations)
自动化会使配件对特定情境做出反应,例如,当您的位置发生变化,一天中的特定时间发生,另一个配件打开或关闭,或者传感器检测到某些情况时。例如,可以使用自动化功能在日落时或在您拉起车道时打开房门灯。
提供极好的体验
通过HomeKit,您的应用可以帮助用户:
1)设置和管理家庭、房间、区域和场景;
2)查找、添加、删除和与配件进行交互;
3)让信任的家人和朋友访问控制配件;
4)使用Siri通过语音命令控制配件;
5)检查配件的状态;
6)自动执行常见的配件操作和设置。
简化配件设置和交互
尽可能使配件安装快速,直观和自动化。理想情况下,您的应用会自动检测新配件并显要呈现。不要强迫用户在添加配件之前创建帐户。
提示用户在设置后将配件分配到房间。配置新配件后,请立即建议将配件添加到房间中。如果家庭或房间还不存在,提供一种方法来创建一个。如果只有一个房间,则建议将配件添加到该房间,但也提供添加另一个房间的方式。
确保配件易于识别。在安装过程中及稍后调整设置时,用户与其进行交互时配件应该是可识别的。例如,如果起居室包含多个灯,则提供区分每个灯的方法。在这种情况下,您可能会提供一种控制装置,通过物理闪光灯来识别它,并让用户为每个灯的服务提供一个独特的名称,例如“台灯”或“枝形吊灯”。
提供多种方式来定位配件。用户希望快速与配件互动,例如在走到房子时解锁门。实现方式是按姓名、类型或家中的位置过滤和搜索配件。考虑提供一个最喜欢的配件服务的仪表板。
准确报告配件状态并帮助用户解决问题。如果配件无法访问,请不要假定它的状态。例如,如果无法访问锁,请勿根据最后一次已知状态来说明是锁住还是解锁。相反,请解释锁目前无法访问,提出可能的原因,并提供解决问题的建议。
启用免提交互
语音驱动和自动交互功能可以轻松控制配件。
在安装过程中,告诉用户Siri能理解的命令。Siri使用单一语句轻松执行复杂的操作。Siri会自动识别HomeKit中的家庭、房间、区域、服务和场景的名称。在整个应用程序中恰当显示使用Siri短语的例子,例如“您可以说'Siri,将房子设置为电影模式'以激活此配置。”
当有多个房屋时,请设置一个主房屋。当说到“打开我的客厅灯”这样的话时,Siri需要知道目标是哪个家。如果只有一个房屋,那个房屋就是所有命令的目标。如果这个人有多个房屋,并且没有配置主房屋,那么目前的房屋——这个人目前所在的房屋——是目标房屋。
使自动化的配置直观。HomeKit配件可以根据条件关系(如时间、位置及其他配件的行为)自动控制。例如,可以设置当车库门打开并且在日落之后,厨房灯开启。像这样建立条件关系可能会造成混淆,因此尽可能简化这个过程,设计清晰的界面并使用用户说话方式的口头禅。
让您的应用程序易于访问
在整个应用程序中使用友好的对话术语。避免使用可能导致混淆或沮丧的缩写词和技术术语。使用标准的HomeKit术语(家庭、房间、区域、配件、自动化)提供一致和平易近人的体验。
在提及服务和特征时使用日常用语。对于服务,使用像“厨房灯”和“厨房风扇”等术语;对于特性,请使用像“亮度”和“速度”等术语。
使用恰当的控件让用户改变特征。例如,使用开关让用户打开和关闭服务。
提供良好的默认值。每个用户的家庭设置都不同,在家庭配置期间,提供广泛适用的通用默认设置。例如,您的应用程序可能会假定所有用户都有一个他们想要命名为“家庭”的主页。默认名称应该是简洁、众所周知的单词或短语。
允许自定义。确保家庭、房间、区域、配件、服务和自动化名称是可自定义的。例如,有用户可能想重命名连接的插座或转变成“台灯”,如果这是插座或开关控制的。切勿将公司名称或型号用作服务名称。
协助解决名称冲突。Siri要求家庭、房间、区域、服务和场景名称是唯一的。当名称冲突出现时,请清楚地解释问题并提供有用且易于记忆的可选方案。
配件注意事项
在设计HomeKit应用程序时,请考虑具体配件的用户体验。
HomeKit相机
HomeKit应用程序可以显示连接的HomeKit IP摄像机的静态图像或流式视频。
不要阻挡相机图像。用有用的特征补充照相机的内容是很好的,例如提醒用户关注潜在的有趣活动。但是,请避免使用其他内容覆盖相机图像的某些部分。
仅当相机支持双向音频时才显示麦克风按钮。无法使用的麦克风按钮浪费空间并且会让用户感到困惑。
了解更多
开发指导请参阅 HomeKit Developer Guide和 HomeKit。如果你是MFI的授权人,请访问 MFi portal ,为配件打包的命名和消息传递提供指导。
六、iCloud
iCloud是可让用户在不执行明确同步的情况下,无缝访问他们关心的内容(照片,视频,文档等)的一项服务。iCloud的一个基本方面是透明性。用户不需要知道内容所在的位置,他们可以认为他们总是访问最新版本。
让您可以轻松使用您的应用程序与iCloud。用户在设置中启用iCloud,并希望应用程序自动使用它。如果您考虑用户可能想要选择是否将iCloud与您的应用程序配合使用,请在第一次打开应用程序时显示一个简单的选项,该选项提供了在所有数据中使用iCloud还是根本不使用iCloud的选项。
避免询问将哪些文件保存在iCloud中。大多数用户希望他们的所有内容都能在iCloud中使用,并且不想管理单个文档的存储。考虑你的应用如何处理和公开内容,并尝试自动执行更多的文件管理任务。
尽可能保持内容更新。在支持iCloud的应用程序中,最好是用户总是可以访问最新的内容。然而,您需要在设备存储量和带宽限制方面平衡这种体验。如果您的应用程序中是非常大的文档,那么让用户控制下载更新内容的时间可能会更好。如果您的应用适合此类别,请设计一种方式来表明iCloud中提供了更新版本的文档。当文档正在更新时,如果下载时间超过几秒钟,请提供精妙的反馈。
尊重iCloud存储空间。iCloud是用户支付的有限资源。使用iCloud存储用户创建和理解的信息,并避免将其用于可再生的应用程序资源或内容。即使您的应用没有实现iCloud支持,请记住,iCloud备份包含每个应用的“文档”文件夹的内容。为避免占用太多空间,请挑选放置在“文档”文件夹中的内容。
确保您的应用程序在iCloud不可用时恰当运行。如果有用户手动禁用iCloud或打开飞行模式,则不需要显示通知他们iCloud不可用的弹窗,他们已经知道这一点。但是,可能仍需要不加掩饰地让他们知道,在恢复iCloud访问权限之前,他们所做的更改将在其他设备上不可用。
在iCloud中保存应用状态信息。除了存储文档和其他文件,您还可以使用iCloud存储有关应用程序状态的优先项和信息。例如,杂志应用程序可能会存储上次浏览的页面,所以当应用程序在另一台设备上打开时,某人可以继续从他们停止的位置进行阅读。如果您使用iCloud存储优先项,请确保它应用于用户希望应用于其所有设备的项。例如,某些设置可能在工作中比在家中更有用。
警告删除文档的后果。当某人在支持iCloud的应用程序中删除文档时,该文档将从iCloud和其他所有设备中删除。在执行删除之前显示警告并要求确认。
使冲突迅速并轻松解决。尽可能尝试自动检测并解决版本冲突。如果无法完成此操作,请显示不显眼的通知,以便轻松区分并选择冲突版本。冲突解决应该尽可能早地发生,以便用户时间不被浪费在错误的版本中。
在搜索结果中包含iCloud内容。认为拥有iCloud帐户的用户的内容普遍可用,并且他们希望搜索结果能够反映这一点。
开发指导请参阅 iCloud Design Guide和 CloudKit Quick Start。
网友评论